pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

gnatcoll-db: lint package, add shlib options handling, redesign build proc



Module Name:	pkgsrc-wip
Committed By:	Dmytro Kazankov <dkazankov%NetBSD.org@localhost>
Pushed By:	dkazankov
Date:		Tue May 20 06:17:10 2025 +0300
Changeset:	5dd3adadc622d159f99c025f149608f02072a889

Modified Files:
	gnatcoll-db/COMMIT_MSG
	gnatcoll-db/Makefile
	gnatcoll-db/buildlink3.mk
	gnatcoll-db/distinfo
	gnatcoll-db/options.mk
Added Files:
	gnatcoll-db/patches/patch-Makefile
Removed Files:
	gnatcoll-db/PLIST

Log Message:
gnatcoll-db: lint package, add shlib options handling, redesign build proc

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=5dd3adadc622d159f99c025f149608f02072a889

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 gnatcoll-db/COMMIT_MSG             |   2 +
 gnatcoll-db/Makefile               | 123 ++++--------------------------
 gnatcoll-db/PLIST                  | 152 -------------------------------------
 gnatcoll-db/buildlink3.mk          |   7 +-
 gnatcoll-db/distinfo               |   1 +
 gnatcoll-db/options.mk             |  97 +++++++++++++----------
 gnatcoll-db/patches/patch-Makefile | 111 +++++++++++++++++++++++++++
 7 files changed, 189 insertions(+), 304 deletions(-)

diffs:
diff --git a/gnatcoll-db/COMMIT_MSG b/gnatcoll-db/COMMIT_MSG
index 3fc499e35d..b708a80ab7 100644
--- a/gnatcoll-db/COMMIT_MSG
+++ b/gnatcoll-db/COMMIT_MSG
@@ -1 +1,3 @@
+
+
 GNATCOLL Db - database connectivity for Ada
diff --git a/gnatcoll-db/Makefile b/gnatcoll-db/Makefile
index d9a48ece44..b5585c1bf5 100644
--- a/gnatcoll-db/Makefile
+++ b/gnatcoll-db/Makefile
@@ -1,26 +1,28 @@
 # $NetBSD: Makefile,v 1.0 2024/05/13 13:00:00 dkazankov Exp $
 
-PKGNAME=	gnatcoll-db-25.0.0
 DISTNAME=	gnatcoll-db-${PKGVERSION_NOREV}
-CATEGORIES=	devel
+PKGNAME=	gnatcoll-db-25.0.0
+CATEGORIES=	databases devel
 MASTER_SITES=	${MASTER_SITE_GITHUB:=AdaCore/}
 GITHUB_PROJECT=	gnatcoll-db
 GITHUB_TAG=	v${PKGVERSION_NOREV}
 
+MAINTAINER=	dkazankov%NetBSD.org@localhost
 HOMEPAGE=	https://github.com/AdaCore/gnatcoll-db
 COMMENT=	The GNAT Components Collection (GNATcoll) - Database packages
 LICENSE=	gnu-gpl-v3
 
 USE_TOOLS+=	gmake grep
 
-HAS_CONFIGURE=	yes
-
 CHECK_PIE_SKIP+=	bin/*
 
 USE_LANGUAGES=	c ada
-
+# See xmlada package for rationale
 GCC_REQD+=	13
 
+.include "../../mk/bsd.prefs.mk"
+.include "options.mk"
+
 SUBST_CLASSES+=		fixver
 SUBST_STAGE.fixver=	pre-configure
 SUBST_FILES.fixver=	version_information
@@ -31,114 +33,19 @@ GENERATE_PLIST+= \
 	cd ${DESTDIR}${PREFIX} && \
 	${FIND} bin include lib share \( -type f -or -type l \) -print | ${SORT};
 
-.include "../../mk/bsd.prefs.mk"
-
-.include "options.mk"
-
-CONFIG_SHELL_FLAGS+=	prefix=${DESTDIR}${PREFIX} BUILD=PROD
-CONFIG_SHELL=		${MAKE_PROGRAM}
-CONFIGURE_SCRIPT=	setup
-
-# Makefile in gnatcoll_db2ada directory can build and install
-# four different apps, but one at a time. So we need special
-# build and install process for this directory
+CONFIGURE_ARGS+=	prefix=${DESTDIR}${PREFIX} BUILD=PROD BUILD_DIRS=${PKG_BUILD_DIRS:Q} \
+	DB_BACKENDS=${DB_BACKENDS:Q}
+MAKE_FLAGS+=		BUILD_DIRS=${PKG_BUILD_DIRS:Q} DB_BACKENDS=${DB_BACKENDS:Q}
 
-do-build:
-.for _dir_ in ${BUILD_DIRS}
-.  if ${_dir_} == "gnatcoll_db2ada"
-.    if !empty(PKG_OPTIONS:Mgnatcoll_db2ada)
-	${RUN}${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${PKGSRC_SETENV} ${MAKE_ENV} \
-	${MAKE_PROGRAM} ${MAKE_JOBS} \
-	${MAKE_FLAGS} ${BUILD_MAKE_FLAGS} DB_BACKEND=db \
-	-f ${MAKE_FILE} \
-	${BUILD_TARGET}
-.    endif
-.    if !empty(PKG_OPTIONS:Mgnatcoll_postgres2ada)
-	${RUN}${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${PKGSRC_SETENV} ${MAKE_ENV} \
-	${MAKE_PROGRAM} ${MAKE_JOBS} \
-	${MAKE_FLAGS} ${BUILD_MAKE_FLAGS} DB_BACKEND=postgres \
-	-f ${MAKE_FILE} \
-	${BUILD_TARGET}
-.    endif
-.    if !empty(PKG_OPTIONS:Mgnatcoll_sqlite2ada)
-	${RUN}${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${PKGSRC_SETENV} ${MAKE_ENV} \
-	${MAKE_PROGRAM} ${MAKE_JOBS} \
-	${MAKE_FLAGS} ${BUILD_MAKE_FLAGS} DB_BACKEND=sqlite \
-	-f ${MAKE_FILE} \
-	${BUILD_TARGET}
-.    endif
-.    if !empty(PKG_OPTIONS:Mgnatcoll_all2ada)
+do-configure:
 	${RUN}${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${PKGSRC_SETENV} ${MAKE_ENV} \
-	${MAKE_PROGRAM} ${MAKE_JOBS} \
-	${MAKE_FLAGS} ${BUILD_MAKE_FLAGS} DB_BACKEND=all \
-	-f ${MAKE_FILE} \
-	${BUILD_TARGET}
-.    endif
-.  else
-	${RUN}${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${BUILD_MAKE_CMD} ${BUILD_TARGET}
-.  endif
-.endfor
-
-do-install:
-.for _dir_ in ${INSTALL_DIRS}
-.  if ${_dir_} == "gnatcoll_db2ada"
-.    if !empty(PKG_OPTIONS:Mgnatcoll_db2ada)
-	${RUN} ${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
-	${MAKE_PROGRAM} ${MAKE_FLAGS} ${INSTALL_MAKE_FLAGS} DB_BACKEND=db \
-	-f ${MAKE_FILE} ${INSTALL_TARGET}
-.    endif
-.    if !empty(PKG_OPTIONS:Mgnatcoll_postgres2ada)
-	${RUN} ${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
-	${MAKE_PROGRAM} ${MAKE_FLAGS} ${INSTALL_MAKE_FLAGS} DB_BACKEND=postgres \
-	-f ${MAKE_FILE} ${INSTALL_TARGET}
-.    endif
-.    if !empty(PKG_OPTIONS:Mgnatcoll_sqlite2ada)
-	${RUN} ${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
-	${MAKE_PROGRAM} ${MAKE_FLAGS} ${INSTALL_MAKE_FLAGS} DB_BACKEND=sqlite \
-	-f ${MAKE_FILE} ${INSTALL_TARGET}
-.    endif
-.    if !empty(PKG_OPTIONS:Mgnatcoll_all2ada)
-	${RUN} ${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
-	${MAKE_PROGRAM} ${MAKE_FLAGS} ${INSTALL_MAKE_FLAGS} DB_BACKEND=all \
-	-f ${MAKE_FILE} ${INSTALL_TARGET}
-.    endif
-.  else
-	${RUN} ${_ULIMIT_CMD} \
-	cd ${WRKSRC} && cd ${_dir_} && \
-	${PKGSRC_SETENV} ${INSTALL_ENV} ${MAKE_ENV} \
-	${MAKE_PROGRAM} ${MAKE_FLAGS} ${INSTALL_MAKE_FLAGS} \
-	-f ${MAKE_FILE} ${INSTALL_TARGET}
-.  endif
-.endfor
-
-.include "../../lang/gcc13-gnat-libs/buildlink3.mk"
-.include "../../wip/gprbuild/buildlink3.mk"
+	cd ${WRKSRC} && \
+	${PKGSRC_SETENV} ${CONFIGURE_ENV} \
+	${MAKE_PROGRAM} ${CONFIGURE_ARGS} setup
 
-BUILDLINK_DEPMETHOD.xmlada=	full
+.include "../../devel/gprbuild/buildlink3.mk"
 .include "../../wip/xmlada/buildlink3.mk"
-
-BUILDLINK_DEPMETHOD.gprlib=	full
 .include "../../wip/gprlib/buildlink3.mk"
-
-BUILDLINK_DEPMETHOD.gnatcoll-core=	full
 .include "../../wip/gnatcoll-core/buildlink3.mk"
 
 .include "../../mk/bsd.pkg.mk"
diff --git a/gnatcoll-db/PLIST b/gnatcoll-db/PLIST
deleted file mode 100644
index e776634455..0000000000
--- a/gnatcoll-db/PLIST
+++ /dev/null
@@ -1,152 +0,0 @@
-@comment $NetBSD: PLIST,v 1.0 2024/05/06 13:00:00 dkazankov Exp $
-bin/gnatcoll_all2ada
-bin/gnatcoll_db2ada
-bin/gnatcoll_postgres2ada
-bin/gnatcoll_sqlite2ada
-bin/gnatinspect
-include/gnatcoll_postgres/gnatcoll-sql-postgres-builder.adb
-include/gnatcoll_postgres/gnatcoll-sql-postgres-builder.ads
-include/gnatcoll_postgres/gnatcoll-sql-postgres-gnade.adb
-include/gnatcoll_postgres/gnatcoll-sql-postgres-gnade.ads
-include/gnatcoll_postgres/gnatcoll-sql-postgres.adb
-include/gnatcoll_postgres/gnatcoll-sql-postgres.ads
-include/gnatcoll_postgres/gnatcoll-sql-ranges.adb
-include/gnatcoll_postgres/gnatcoll-sql-ranges.ads
-include/gnatcoll_postgres/postgres_support.c
-include/gnatcoll_sql/gnatcoll-sql-exec-tasking.adb
-include/gnatcoll_sql/gnatcoll-sql-exec-tasking.ads
-include/gnatcoll_sql/gnatcoll-sql-exec.adb
-include/gnatcoll_sql/gnatcoll-sql-exec.ads
-include/gnatcoll_sql/gnatcoll-sql-exec_private.adb
-include/gnatcoll_sql/gnatcoll-sql-exec_private.ads
-include/gnatcoll_sql/gnatcoll-sql-inspect.adb
-include/gnatcoll_sql/gnatcoll-sql-inspect.ads
-include/gnatcoll_sql/gnatcoll-sql-orm-impl.adb
-include/gnatcoll_sql/gnatcoll-sql-orm-impl.ads
-include/gnatcoll_sql/gnatcoll-sql-orm.adb
-include/gnatcoll_sql/gnatcoll-sql-orm.ads
-include/gnatcoll_sql/gnatcoll-sql-sessions.adb
-include/gnatcoll_sql/gnatcoll-sql-sessions.ads
-include/gnatcoll_sql/gnatcoll-sql.adb
-include/gnatcoll_sql/gnatcoll-sql.ads
-include/gnatcoll_sql/gnatcoll-sql_fields.adb
-include/gnatcoll_sql/gnatcoll-sql_fields.ads
-include/gnatcoll_sql/gnatcoll-sql_impl.adb
-include/gnatcoll_sql/gnatcoll-sql_impl.ads
-include/gnatcoll_sqlite/gnatcoll-sql-sqlite-builder.adb
-include/gnatcoll_sqlite/gnatcoll-sql-sqlite-builder.ads
-include/gnatcoll_sqlite/gnatcoll-sql-sqlite-gnade.adb
-include/gnatcoll_sqlite/gnatcoll-sql-sqlite-gnade.ads
-include/gnatcoll_sqlite/gnatcoll-sql-sqlite.adb
-include/gnatcoll_sqlite/gnatcoll-sql-sqlite.ads
-include/gnatcoll_sqlite/shell.c
-include/gnatcoll_sqlite/sqlite3.c
-include/gnatcoll_sqlite/sqlite3.h
-include/gnatcoll_sqlite/sqlite3ext.h
-include/gnatcoll_xref/gnatcoll-xref-database.adb
-include/gnatcoll_xref/gnatcoll-xref-database.ads
-include/gnatcoll_xref/gnatcoll-xref-database_names.ads
-include/gnatcoll_xref/gnatcoll-xref.adb
-include/gnatcoll_xref/gnatcoll-xref.ads
-lib/gnatcoll_postgres.relocatable/gnatcoll-sql-postgres.ali
-lib/gnatcoll_postgres.relocatable/gnatcoll-sql-ranges.ali
-lib/gnatcoll_postgres.relocatable/libgnatcoll_postgres.so
-lib/gnatcoll_postgres.relocatable/libgnatcoll_postgres.so.25
-lib/gnatcoll_postgres.relocatable/libgnatcoll_postgres.so.25.0
-lib/gnatcoll_postgres.static-pic/gnatcoll-sql-postgres-builder.ali
-lib/gnatcoll_postgres.static-pic/gnatcoll-sql-postgres-gnade.ali
-lib/gnatcoll_postgres.static-pic/gnatcoll-sql-postgres.ali
-lib/gnatcoll_postgres.static-pic/gnatcoll-sql-ranges.ali
-lib/gnatcoll_postgres.static-pic/libgnatcoll_postgres.a
-lib/gnatcoll_postgres.static/gnatcoll-sql-postgres-builder.ali
-lib/gnatcoll_postgres.static/gnatcoll-sql-postgres-gnade.ali
-lib/gnatcoll_postgres.static/gnatcoll-sql-postgres.ali
-lib/gnatcoll_postgres.static/gnatcoll-sql-ranges.ali
-lib/gnatcoll_postgres.static/libgnatcoll_postgres.a
-lib/gnatcoll_sql.relocatable/gnatcoll-sql-exec-tasking.ali
-lib/gnatcoll_sql.relocatable/gnatcoll-sql-exec.ali
-lib/gnatcoll_sql.relocatable/gnatcoll-sql-exec_private.ali
-lib/gnatcoll_sql.relocatable/gnatcoll-sql-inspect.ali
-lib/gnatcoll_sql.relocatable/gnatcoll-sql-orm-impl.ali
-lib/gnatcoll_sql.relocatable/gnatcoll-sql-orm.ali
-lib/gnatcoll_sql.relocatable/gnatcoll-sql-sessions.ali
-lib/gnatcoll_sql.relocatable/gnatcoll-sql.ali
-lib/gnatcoll_sql.relocatable/gnatcoll-sql_fields.ali
-lib/gnatcoll_sql.relocatable/gnatcoll-sql_impl.ali
-lib/gnatcoll_sql.relocatable/libgnatcoll_sql.so
-lib/gnatcoll_sql.relocatable/libgnatcoll_sql.so.25
-lib/gnatcoll_sql.relocatable/libgnatcoll_sql.so.25.0
-lib/gnatcoll_sql.static-pic/gnatcoll-sql-exec-tasking.ali
-lib/gnatcoll_sql.static-pic/gnatcoll-sql-exec.ali
-lib/gnatcoll_sql.static-pic/gnatcoll-sql-exec_private.ali
-lib/gnatcoll_sql.static-pic/gnatcoll-sql-inspect.ali
-lib/gnatcoll_sql.static-pic/gnatcoll-sql-orm-impl.ali
-lib/gnatcoll_sql.static-pic/gnatcoll-sql-orm.ali
-lib/gnatcoll_sql.static-pic/gnatcoll-sql-sessions.ali
-lib/gnatcoll_sql.static-pic/gnatcoll-sql.ali
-lib/gnatcoll_sql.static-pic/gnatcoll-sql_fields.ali
-lib/gnatcoll_sql.static-pic/gnatcoll-sql_impl.ali
-lib/gnatcoll_sql.static-pic/libgnatcoll_sql.a
-lib/gnatcoll_sql.static/gnatcoll-sql-exec-tasking.ali
-lib/gnatcoll_sql.static/gnatcoll-sql-exec.ali
-lib/gnatcoll_sql.static/gnatcoll-sql-exec_private.ali
-lib/gnatcoll_sql.static/gnatcoll-sql-inspect.ali
-lib/gnatcoll_sql.static/gnatcoll-sql-orm-impl.ali
-lib/gnatcoll_sql.static/gnatcoll-sql-orm.ali
-lib/gnatcoll_sql.static/gnatcoll-sql-sessions.ali
-lib/gnatcoll_sql.static/gnatcoll-sql.ali
-lib/gnatcoll_sql.static/gnatcoll-sql_fields.ali
-lib/gnatcoll_sql.static/gnatcoll-sql_impl.ali
-lib/gnatcoll_sql.static/libgnatcoll_sql.a
-lib/gnatcoll_sqlite.relocatable/gnatcoll-sql-sqlite.ali
-lib/gnatcoll_sqlite.relocatable/libgnatcoll_sqlite.so
-lib/gnatcoll_sqlite.relocatable/libgnatcoll_sqlite.so.25
-lib/gnatcoll_sqlite.relocatable/libgnatcoll_sqlite.so.25.0
-lib/gnatcoll_sqlite.static-pic/gnatcoll-sql-sqlite-builder.ali
-lib/gnatcoll_sqlite.static-pic/gnatcoll-sql-sqlite-gnade.ali
-lib/gnatcoll_sqlite.static-pic/gnatcoll-sql-sqlite.ali
-lib/gnatcoll_sqlite.static-pic/libgnatcoll_sqlite.a
-lib/gnatcoll_sqlite.static/gnatcoll-sql-sqlite-builder.ali
-lib/gnatcoll_sqlite.static/gnatcoll-sql-sqlite-gnade.ali
-lib/gnatcoll_sqlite.static/gnatcoll-sql-sqlite.ali
-lib/gnatcoll_sqlite.static/libgnatcoll_sqlite.a
-lib/gnatcoll_xref.relocatable/gnatcoll-xref-database.ali
-lib/gnatcoll_xref.relocatable/gnatcoll-xref-database_names.ali
-lib/gnatcoll_xref.relocatable/gnatcoll-xref.ali
-lib/gnatcoll_xref.relocatable/libgnatcoll_xref.so
-lib/gnatcoll_xref.relocatable/libgnatcoll_xref.so.25
-lib/gnatcoll_xref.relocatable/libgnatcoll_xref.so.25.0
-lib/gnatcoll_xref.static-pic/gnatcoll-xref-database.ali
-lib/gnatcoll_xref.static-pic/gnatcoll-xref-database_names.ali
-lib/gnatcoll_xref.static-pic/gnatcoll-xref.ali
-lib/gnatcoll_xref.static-pic/libgnatcoll_xref.a
-lib/gnatcoll_xref.static/gnatcoll-xref-database.ali
-lib/gnatcoll_xref.static/gnatcoll-xref-database_names.ali
-lib/gnatcoll_xref.static/gnatcoll-xref.ali
-lib/gnatcoll_xref.static/libgnatcoll_xref.a
-lib/libgnatcoll_postgres.so
-lib/libgnatcoll_postgres.so.25
-lib/libgnatcoll_postgres.so.25.0
-lib/libgnatcoll_sql.so
-lib/libgnatcoll_sql.so.25
-lib/libgnatcoll_sql.so.25.0
-lib/libgnatcoll_sqlite.so
-lib/libgnatcoll_sqlite.so.25
-lib/libgnatcoll_sqlite.so.25.0
-lib/libgnatcoll_xref.so
-lib/libgnatcoll_xref.so.25
-lib/libgnatcoll_xref.so.25.0
-share/gnatcoll/dborm.py
-share/gpr/gnatcoll_postgres.gpr
-share/gpr/gnatcoll_sql.gpr
-share/gpr/gnatcoll_sqlite.gpr
-share/gpr/gnatcoll_xref.gpr
-share/gpr/manifests/gnatcoll_all2ada
-share/gpr/manifests/gnatcoll_db2ada
-share/gpr/manifests/gnatcoll_postgres
-share/gpr/manifests/gnatcoll_postgres2ada
-share/gpr/manifests/gnatcoll_sql
-share/gpr/manifests/gnatcoll_sqlite
-share/gpr/manifests/gnatcoll_sqlite2ada
-share/gpr/manifests/gnatcoll_xref
-share/gpr/manifests/gnatinspect
diff --git a/gnatcoll-db/buildlink3.mk b/gnatcoll-db/buildlink3.mk
index 5e86cc7407..b27b300158 100644
--- a/gnatcoll-db/buildlink3.mk
+++ b/gnatcoll-db/buildlink3.mk
@@ -6,13 +6,10 @@ BUILDLINK_TREE+=	gnatcoll-db
 GNATCOLL_DB_BUILDLINK3_MK:=
 
 BUILDLINK_API_DEPENDS.gnatcoll-db+=	gnatcoll-db>=24.0.0
-BUILDLINK_PKGSRCDIR.gnatcoll-db=	../../wip/gnatcoll-db
+BUILDLINK_ABI_DEPENDS.gnatcoll-db+=	gnatcoll-db>=25.0.0
+BUILDLINK_PKGSRCDIR.gnatcoll-db?=	../../wip/gnatcoll-db
 BUILDLINK_DEPMETHOD.gnatcoll-db?=	build
 
-BUILDLINK_FILES.gnatcoll-db=	include/gnatcoll_*/* lib/libgnatcoll* lib/gnatcoll_*/*
-BUILDLINK_FILES.gnatcoll-db+=	share/gpr/manifests/gnatcoll_* share/gpr/gnatcoll_*.gpr
-BUILDLINK_FILES.gnatcoll-db+=	bin/gnatcoll_*2ada bin/gnatinspect
-
 BUILDLINK_CONTENTS_FILTER.gnatcoll-db=	\
 	${EGREP} '(include/.*\.ads$$|lib/.*\.ali$$|lib/.*\.a$$|lib/libgnatcoll.*\.so.*$$|share/gpr/manifests/.*|share/gpr/.*\.gpr$$|bin/gnatcoll_.*2ada$$|bin/gnatinspect$$)'
 
diff --git a/gnatcoll-db/distinfo b/gnatcoll-db/distinfo
index 2061f8d0d1..ef933028f5 100644
--- a/gnatcoll-db/distinfo
+++ b/gnatcoll-db/distinfo
@@ -3,6 +3,7 @@ $NetBSD$
 BLAKE2s (gnatcoll-db-25.0.0.tar.gz) = 644f89eca578ab538daf7c90317a89cfa4736632f141e2d7db5a413d39c0c297
 SHA512 (gnatcoll-db-25.0.0.tar.gz) = 7cd37d33650a16fd72796adda375a62a6368c11b369209686194fe96ad72a8e49094076679824266f88aeb7b1bc592ac1be678fcfaad10b59c7e05f7dd512cf3
 Size (gnatcoll-db-25.0.0.tar.gz) = 2688678 bytes
+SHA1 (patch-Makefile) = 8bd30cf6a9af34bc24529fc1f51fdc41ce72420c
 SHA1 (patch-gnatcoll__db2ada_Makefile) = dbcec198253c682b952ecdbac4e839eb335c97ec
 SHA1 (patch-gnatcoll__db2ada_gnatcoll__all2ada.gpr) = e6198437023047531952e4e2c785d84b310382b3
 SHA1 (patch-gnatcoll__db2ada_gnatcoll__db2ada.gpr) = 4e14ba5302d45b5999e536071fddabebc8066711
diff --git a/gnatcoll-db/options.mk b/gnatcoll-db/options.mk
index 74db2047bb..468cea111f 100644
--- a/gnatcoll-db/options.mk
+++ b/gnatcoll-db/options.mk
@@ -1,63 +1,82 @@
 # $NetBSD: options.mk,v 1.0 2024/05/13 15:00:00 dkazankov Exp $
 
-PKG_OPTIONS_VAR=	PKG_OPTIONS.gnatcoll-db
-PKG_SUPPORTED_OPTIONS=	gnatcoll_db2ada gnatcoll_postgres2ada gnatcoll_sqlite2ada gnatcoll_all2ada
-PKG_SUPPORTED_OPTIONS+=	gnatinspect postgres sql sqlite xref
-PKG_SUGGESTED_OPTIONS=	gnatcoll_db2ada gnatcoll_postgres2ada gnatcoll_sqlite2ada gnatcoll_all2ada
-PKG_SUGGESTED_OPTIONS+=	gnatinspect postgres sql sqlite xref
+PKG_OPTIONS_VAR=		PKG_OPTIONS.gnatcoll-db
+PKG_SUPPORTED_OPTIONS=		gnatcoll-db2ada gnatcoll-postgres2ada gnatcoll-sqlite2ada gnatcoll-all2ada \
+				gnatcoll-gnatinspect gnatcoll-postgres gnatcoll-sql gnatcoll-sqlite gnatcoll-xref
+PKG_OPTIONS_OPTIONAL_GROUPS=	shared-libs
+PKG_OPTIONS_GROUP.shared-libs=	enable-shared-libs disable-shared-libs
+PKG_SUGGESTED_OPTIONS=		gnatcoll-db2ada gnatcoll-postgres2ada gnatcoll-sqlite2ada gnatcoll-all2ada \
+				gnatcoll-gnatinspect gnatcoll-postgres gnatcoll-sql gnatcoll-sqlite gnatcoll-xref
 
 .include "../../mk/bsd.fast.prefs.mk"
-
 .include "../../mk/bsd.options.mk"
 
-CONFIGURE_DIRS=
-BUILD_DIRS=
-INSTALL_DIRS=
+.if !empty(PKG_OPTIONS:Menable-shared-libs)
+CONFIGURE_FLAGS+=			ENABLE_SHARED=yes
+USE_GCC_RUNTIME=			yes
+BUILDLINK_DEPMETHOD.xmlada=		full
+BUILDLINK_DEPMETHOD.gprlib=		full
+BUILDLINK_DEPMETHOD.gnatcoll-core=	full
+.endif
+.if !empty(PKG_OPTIONS:Mdisable-shared-libs)
+CONFIGURE_FLAGS+=			ENABLE_SHARED=no
+.endif
+.if empty(PKG_OPTIONS:Menable-shared-libs) && empty(PKG_OPTIONS:Mdisable-shared-libs)
+USE_GCC_RUNTIME=			yes
+BUILDLINK_DEPMETHOD.xmlada=		full
+BUILDLINK_DEPMETHOD.gprlib=		full
+BUILDLINK_DEPMETHOD.gnatcoll-core=	full
+.endif
 
 # Build order is important
-
-.if !empty(PKG_OPTIONS:Msql)
-CONFIGURE_DIRS+=	sql
-BUILD_DIRS+=		sql
-INSTALL_DIRS+=		sql
+.if !empty(PKG_OPTIONS:Mgnatcoll-sql)
+PKG_BUILD_DIRS+=		sql
 .endif
 
-.if !empty(PKG_OPTIONS:Msqlite)
+.if !empty(PKG_OPTIONS:Mgnatcoll-sqlite)
 #.  include "../../databases/sqlite3/buildlink3.mk"
-CONFIGURE_DIRS+=	sqlite
-BUILD_DIRS+=		sqlite
-INSTALL_DIRS+=		sqlite
+PKG_BUILD_DIRS+=		sqlite
 .endif
 
-.if !empty(PKG_OPTIONS:Mpostgres)
-.  include "../../wip/gnatcoll-bindings/buildlink3.mk"
-CONFIGURE_DIRS+=	postgres
-BUILD_DIRS+=		postgres
-INSTALL_DIRS+=		postgres
+.if !empty(PKG_OPTIONS:Mgnatcoll-postgres)
+PKG_BUILD_DIRS+=		postgres
 .endif
 
-.if !empty(PKG_OPTIONS:Mxref)
-.  include "../../wip/gnatcoll-bindings/buildlink3.mk"
-CONFIGURE_DIRS+=	xref
-BUILD_DIRS+=		xref
-INSTALL_DIRS+=		xref
+.if !empty(PKG_OPTIONS:Mgnatcoll-xref)
+PKG_BUILD_DIRS+=		xref
+.endif
+
+.if !empty(PKG_OPTIONS:Mgnatcoll-gnatinspect)
+PKG_BUILD_DIRS+=		gnatinspect
 .endif
 
-.if !empty(PKG_OPTIONS:Mgnatinspect)
+.if !empty(PKG_OPTIONS:Mgnatcoll-postgres) || !empty(PKG_OPTIONS:Mgnatcoll-xref) || \
+    !empty(PKG_OPTIONS:Mgnatcoll-gnatinspect)
 .  include "../../wip/gnatcoll-bindings/buildlink3.mk"
-CONFIGURE_DIRS+=	gnatinspect
-BUILD_DIRS+=		gnatinspect
-INSTALL_DIRS+=		gnatinspect
 .endif
 
-.if !empty(PKG_OPTIONS:Mgnatcoll_db2ada) || !empty(PKG_OPTIONS:Mgnatcoll_postgres2ada) || \
-    !empty(PKG_OPTIONS:Mgnatcoll_sqlite2ada) || !empty(PKG_OPTIONS:Mgnatcoll_all2ada)
-CONFIGURE_DIRS+=	gnatcoll_db2ada
-BUILD_DIRS+=		gnatcoll_db2ada
-INSTALL_DIRS+=		gnatcoll_db2ada
+.if !empty(PKG_OPTIONS:Mgnatcoll-db2ada) || !empty(PKG_OPTIONS:Mgnatcoll-postgres2ada) || \
+    !empty(PKG_OPTIONS:Mgnatcoll-sqlite2ada) || !empty(PKG_OPTIONS:Mgnatcoll-all2ada)
+PKG_BUILD_DIRS+=		gnatcoll_db2ada
 .endif
 
-.if !empty(PKG_OPTIONS:Mpostgres) || \
-    !empty(PKG_OPTIONS:Mgnatcoll_postgres2ada) || !empty(PKG_OPTIONS:Mgnatcoll_all2ada)
+.if !empty(PKG_OPTIONS:Mgnatcoll-postgres) || \
+    !empty(PKG_OPTIONS:Mgnatcoll-postgres2ada) || !empty(PKG_OPTIONS:Mgnatcoll-all2ada)
 .  include "../../mk/pgsql.buildlink3.mk"
 .endif
+
+.if !empty(PKG_OPTIONS:Mgnatcoll-db2ada)
+DB_BACKENDS+=			db
+.endif
+
+.if !empty(PKG_OPTIONS:Mgnatcoll-postgres2ada)
+DB_BACKENDS+=			postgres
+.endif
+
+.if !empty(PKG_OPTIONS:Mgnatcoll-sqlite2ada)
+DB_BACKENDS+=			sqlite
+.endif
+
+.if !empty(PKG_OPTIONS:Mgnatcoll-all2ada)
+DB_BACKENDS+=			all
+.endif
diff --git a/gnatcoll-db/patches/patch-Makefile b/gnatcoll-db/patches/patch-Makefile
new file mode 100644
index 0000000000..f0cb53f7b8
--- /dev/null
+++ b/gnatcoll-db/patches/patch-Makefile
@@ -0,0 +1,111 @@
+$NetBSD: patch-Makefile,v 1.1 2025/05/13 21:00:00 dkazankov Exp $
+
+Create single common Makefile to control all components.
+Makefile in gnatcoll_db2ada can build and install four different apps,
+but one at a time. So we need special build and install process for
+this directory.
+
+--- /dev/null
++++ Makefile
+@@ -0,0 +1,101 @@
++prefix ?= $(dir $(shell $(WHICH) gnatls))..
++ENABLE_SHARED ?= yes
++BUILD         ?= PROD
++PROCESSORS    ?= 0
++TARGET ?= $(shell gcc -dumpmachine)
++
++BUILD_DIRS    ?= sql sqlite postgres xref gnatinspect gnatcoll_db2ada
++DB_BACKENDS   ?= db postgres sqlite all
++
++NORMALIZED_TARGET := $(lastword $(subst :, ,$(shell gprconfig  --config=ada --target=$(TARGET) --mi-show-compilers | grep ' 1 normalized_target:')))
++ifeq ($(NORMALIZED_TARGET),)
++  $(error No toolchain found for target "$(TARGET)")
++endif
++
++ifeq ($(ENABLE_SHARED), yes)
++   LIBRARY_TYPES=static,static-pic,relocatable
++else
++   LIBRARY_TYPES=static,static-pic
++endif
++
++# Used to pass extra options to GPRBUILD, like -d for instance
++GPRBUILD_OPTIONS=
++GPRINSTALL_OPTIONS=
++
++.PHONY: setup
++setup: $(BUILD_DIRS:%=setup-%)
++
++setup-%:
++	cd $* && \
++	make prefix=$(prefix) BUILD=$(BUILD) ENABLE_SHARED=$(ENABLE_SHARED) \
++	    PROCESSORS=$(PROCESSORS) \
++	    setup
++	cd ..
++
++all: build
++
++.PHONY: build $(BUILD_DIRS)
++build: $(BUILD_DIRS:%=build-%)
++
++build-gnatcoll_db2ada: $(DB_BACKENDS:%=build-db2ada-%)
++
++build-db2ada-%:
++	cd gnatcoll_db2ada && \
++	make GPRBUILD_OPTIONS="$(subst $$,\$$\$$,$(GPRBUILD_OPTIONS))" DB_BACKEND=$* all
++	cd ..
++
++build-%:
++	cd $* && \
++	make GPRBUILD_OPTIONS="$(subst $$,\$$\$$,$(GPRBUILD_OPTIONS))" all
++	cd ..
++
++.PHONY: install
++install: $(BUILD_DIRS:%=install-%)
++
++install-gnatcoll_db2ada: $(DB_BACKENDS:%=install-db2ada-%)
++
++install-db2ada-%:
++	cd gnatcoll_db2ada && \
++	make GPRINSTALL_OPTIONS='$(subst ','',$(GPRINSTALL_OPTIONS))' DB_BACKEND=$* install
++	cd ..
++
++install-%:
++	cd $* && \
++	make GPRINSTALL_OPTIONS='$(subst ','',$(GPRINSTALL_OPTIONS))' install
++	cd ..
++
++.PHONY: uninstall
++uninstall: $(BINDINGS:%=uninstall-%)
++
++uninstall-gnatcoll_db2ada: $(DB_BACKENDS:%=uninstall-db2ada-%)
++
++uninstall-db2ada-%:
++	cd gnatcoll_db2ada && \
++	make GPRINSTALL_OPTIONS='$(subst ','',$(GPRINSTALL_OPTIONS))' DB_BACKEND=$* uninstall
++	cd ..
++
++uninstall-%:
++	cd $* && \
++	make GPRINSTALL_OPTIONS='$(subst ','',$(GPRINSTALL_OPTIONS))' uninstall
++	cd ..
++
++.PHONY: clean
++clean: $(BINDINGS:%=clean-%)
++
++clean-gnatcoll_db2ada: $(DB_BACKENDS:%=clean-db2ada-%)
++
++clean-db2ada-%:
++	cd gnatcoll_db2ada && \
++	make DBBACKEND=$* clean
++	cd ..
++
++clean-%:
++	cd $* && \
++	make clean
++	cd ..
++
++.PHONY: test
++test:
++	sh testsuite/run-tests
++
++.NOTPARALLEL:


Home | Main Index | Thread Index | Old Index