diff options
25 files changed, 74 insertions, 22 deletions
diff --git a/Makefile.am b/Makefile.am index 5bf8e1a71..a4cf3e17b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,7 +4,7 @@ MAINTAINERCLEANFILES = Makefile.in configure config/* aclocal.m4 \ config.h config.h.in INSTALL COPYING AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip std-options EXTRA_DIST = autogen.bash automake-deps-dist-hack.tmp -SUBDIRS = misc test paludis python ruby src doc hooks eselect vim bash-completion zsh-completion +SUBDIRS = misc test paludis python ruby src doc hooks eselect vim bash-completion zsh-completion pkg-config DISTCHECK_CONFIGURE_FLAGS = --enable-qa --enable-ruby --enable-glsa --enable-vim --enable-python \ --with-ruby-install-dir='$${DESTDIR}$${prefix}/ruby_dir' \ diff --git a/configure.ac b/configure.ac index 5184f34be..edd06f212 100644 --- a/configure.ac +++ b/configure.ac @@ -24,6 +24,10 @@ AM_INIT_AUTOMAKE(paludis, [$VERSION_FULL]) AC_LANG([C++]) PALUDIS_CXXFLAGS= + +PALUDIS_PC_CFLAGS= +PALUDIS_PC_LIBS= +PALUDIS_PC_VERSION= dnl }}} dnl {{{ monolithic build @@ -216,6 +220,7 @@ int main(int, char **) ], [AC_MSG_RESULT([yes]) PALUDIS_CXXFLAGS="${PALUDIS_CXXFLAGS} -DPALUDIS_TR1_MEMORY_IS_STD_TR1=1" + PALUDIS_PC_CFLAGS="${PALUDIS_PC_CFLAGS} -DPALUDIS_TR1_MEMORY_IS_STD_TR1=1" ], [AC_MSG_RESULT([no]) AC_MSG_CHECKING([for boost::shared_ptr<>]) @@ -229,6 +234,7 @@ int main(int, char **) ], [AC_MSG_RESULT([yes]) PALUDIS_CXXFLAGS="${PALUDIS_CXXFLAGS} -DPALUDIS_TR1_MEMORY_IS_BOOST=1" + PALUDIS_PC_CFLAGS="${PALUDIS_PC_CFLAGS} -DPALUDIS_TR1_MEMORY_IS_BOOST=1" need_pointer_wrappers=yes], [AC_MSG_RESULT([no]) AC_MSG_ERROR([Your compiler doesn't support tr1 and boost is not installed])])]) @@ -248,6 +254,7 @@ int main(int, char **) ], [AC_MSG_RESULT([yes]) PALUDIS_CXXFLAGS="${PALUDIS_CXXFLAGS} -DPALUDIS_TR1_TYPE_TRAITS_IS_STD_TR1=1" + PALUDIS_PC_CFLAGS="${PALUDIS_PC_CFLAGS} -DPALUDIS_TR1_TYPE_TRAITS_IS_STD_TR1=1" ], [AC_MSG_RESULT([no]) AC_MSG_CHECKING([for boost::remove_pointer<>]) @@ -261,6 +268,7 @@ int main(int, char **) ], [AC_MSG_RESULT([yes]) PALUDIS_CXXFLAGS="${PALUDIS_CXXFLAGS} -DPALUDIS_TR1_TYPE_TRAITS_IS_BOOST=1" + PALUDIS_PC_CFLAGS="${PALUDIS_PC_CFLAGS} -DPALUDIS_TR1_TYPE_TRAITS_IS_BOOST=1" need_type_traits_wrappers=yes], [AC_MSG_RESULT([no]) AC_MSG_ERROR([Your compiler doesn't support tr1 and boost is not installed])])]) @@ -292,6 +300,7 @@ int main(int, char **) ], [AC_MSG_RESULT([yes]) PALUDIS_CXXFLAGS="${PALUDIS_CXXFLAGS} -DPALUDIS_TR1_FUNCTIONAL_IS_STD_TR1=1" + PALUDIS_PC_CFLAGS="${PALUDIS_PC_CFLAGS} -DPALUDIS_TR1_FUNCTIONAL_IS_STD_TR1=1" ], [AC_MSG_RESULT([no]) AC_MSG_CHECKING([for boost::bind<>]) @@ -317,6 +326,7 @@ int main(int, char **) ], [AC_MSG_RESULT([yes]) PALUDIS_CXXFLAGS="${PALUDIS_CXXFLAGS} -DPALUDIS_TR1_FUNCTIONAL_IS_BOOST=1" + PALUDIS_PC_CFLAGS="${PALUDIS_PC_CFLAGS} -DPALUDIS_TR1_FUNCTIONAL_IS_BOOST=1" need_bind_wrappers=yes], [AC_MSG_RESULT([no]) AC_MSG_ERROR([Your compiler doesn't support tr1 and boost is not installed])])]) @@ -1070,6 +1080,17 @@ AC_SUBST([HAVE_GNU_LDCONFIG]) AM_CONDITIONAL([HAVE_GNU_LDCONFIG], test "x$HAVE_GNU_LDCONFIG" = "xyes") dnl }}} +dnl {{{ pkg-config +AC_MSG_RESULT([PALUDIS_PC_CFLAGS]) +AC_SUBST([PALUDIS_PC_CFLAGS]) +PALUDIS_PC_LIBS="-lpaludis -lpaludisutil" +AC_SUBST([PALUDIS_PC_LIBS]) +PALUDIS_PC_VERSION="${VERSION_FULL}" +AC_SUBST([PALUDIS_PC_VERSION]) +PALUDIS_PC_SLOT="${VERSION_MAJOR}.${VERSION_MINOR}" +AC_SUBST([PALUDIS_PC_SLOT]) +dnl }}} + dnl {{{ built sources GENERATED_FILE=misc/generated-file.txt AC_SUBST_FILE(GENERATED_FILE) @@ -1134,6 +1155,7 @@ AC_OUTPUT( paludis/syncers/Makefile paludis/tasks/Makefile paludis/util/Makefile + pkg-config/Makefile python/Makefile ruby/Makefile ruby/demos/Makefile diff --git a/paludis/Makefile.am.m4 b/paludis/Makefile.am.m4 index 79cd839e1..23729a326 100644 --- a/paludis/Makefile.am.m4 +++ b/paludis/Makefile.am.m4 @@ -135,7 +135,7 @@ noinst_LTLIBRARIES = libpaludismanpagethings.la endif -paludis_includedir = $(includedir)/paludis/ +paludis_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/ paludis_include_HEADERS = headerlist srheaderlist seheaderlist Makefile.am : Makefile.am.m4 files.m4 diff --git a/paludis/args/Makefile.am b/paludis/args/Makefile.am index b2ee49410..396598dd5 100644 --- a/paludis/args/Makefile.am +++ b/paludis/args/Makefile.am @@ -5,7 +5,7 @@ AM_CXXFLAGS = -I$(top_srcdir) @PALUDIS_CXXFLAGS@ @PALUDIS_CXXFLAGS_VISIBILITY@ TESTS = \ args_TEST -paludis_args_includedir = $(includedir)/paludis/args/ +paludis_args_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/args/ paludis_args_include_HEADERS = \ args.hh \ diff --git a/paludis/dep_list/Makefile.am b/paludis/dep_list/Makefile.am index 47a9abda8..a119515d2 100644 --- a/paludis/dep_list/Makefile.am +++ b/paludis/dep_list/Makefile.am @@ -13,7 +13,7 @@ DEFS= \ -DDATADIR=\"$(datadir)\" \ -DLIBDIR=\"$(libdir)\" -paludis_dep_list_includedir = $(includedir)/paludis/dep_list +paludis_dep_list_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/dep_list paludis_dep_list_include_HEADERS = \ dep_list.hh \ query_visitor.hh \ diff --git a/paludis/digests/Makefile.am b/paludis/digests/Makefile.am index fc804eec5..6ef48844b 100644 --- a/paludis/digests/Makefile.am +++ b/paludis/digests/Makefile.am @@ -4,7 +4,7 @@ SUBDIRS = . libexecprogdir = $(libexecdir)/paludis/digests/ -paludis_digests_includedir = $(includedir)/paludis/digests/ +paludis_digests_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/digests/ paludis_digests_include_HEADERS = \ sha256.hh \ diff --git a/paludis/environments/Makefile.am b/paludis/environments/Makefile.am index db3d70427..c2f965697 100644 --- a/paludis/environments/Makefile.am +++ b/paludis/environments/Makefile.am @@ -9,7 +9,7 @@ built-sources : $(BUILT_SOURCES) lib_LTLIBRARIES = libpaludisenvironments.la -paludis_environments_includedir = $(includedir)/paludis/environments/ +paludis_environments_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/environments/ paludis_environments_include_HEADERS = \ environment_maker.hh diff --git a/paludis/environments/adapted/Makefile.am b/paludis/environments/adapted/Makefile.am index 38fabe2b2..6822935a1 100644 --- a/paludis/environments/adapted/Makefile.am +++ b/paludis/environments/adapted/Makefile.am @@ -21,7 +21,7 @@ libpaludisadaptedenvironment_la_LIBADD = \ lib_LTLIBRARIES = libpaludisadaptedenvironment.la -paludis_environment_adapted_includedir = $(includedir)/paludis/environments/adapted +paludis_environment_adapted_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/environments/adapted paludis_environment_adapted_include_HEADERS = \ adapted_environment.hh diff --git a/paludis/environments/no_config/Makefile.am b/paludis/environments/no_config/Makefile.am index 3fc49d99f..eb2fa8b1e 100644 --- a/paludis/environments/no_config/Makefile.am +++ b/paludis/environments/no_config/Makefile.am @@ -33,7 +33,7 @@ lib_LTLIBRARIES = libpaludisnoconfigenvironment.la endif -paludis_environment_no_config_includedir = $(includedir)/paludis/environments/no_config +paludis_environment_no_config_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/environments/no_config paludis_environment_no_config_include_HEADERS = \ no_config_environment.hh \ no_config_environment-sr.hh diff --git a/paludis/environments/paludis/Makefile.am b/paludis/environments/paludis/Makefile.am index 8707a57d6..2ecea1a93 100644 --- a/paludis/environments/paludis/Makefile.am +++ b/paludis/environments/paludis/Makefile.am @@ -46,7 +46,7 @@ libenv_LTLIBRARIES = libpaludispaludisenvironment.la endif -paludis_environment_paludis_includedir = $(includedir)/paludis/environments/paludis +paludis_environment_paludis_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/environments/paludis paludis_environment_paludis_include_HEADERS = \ paludis_config.hh \ paludis_environment.hh \ diff --git a/paludis/environments/portage/Makefile.am b/paludis/environments/portage/Makefile.am index 290cda50d..e203577b0 100644 --- a/paludis/environments/portage/Makefile.am +++ b/paludis/environments/portage/Makefile.am @@ -28,7 +28,7 @@ libexecenv_SCRIPTS = bashrc libenv_LTLIBRARIES = libpaludisportageenvironment.la -paludis_environment_portage_includedir = $(includedir)/paludis/environments/portage +paludis_environment_portage_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/environments/portage paludis_environment_portage_include_HEADERS = \ portage_environment.hh diff --git a/paludis/environments/test/Makefile.am b/paludis/environments/test/Makefile.am index b02f641cd..78990a1ee 100644 --- a/paludis/environments/test/Makefile.am +++ b/paludis/environments/test/Makefile.am @@ -31,7 +31,7 @@ lib_LTLIBRARIES = libpaludistestenvironment.la endif -paludis_environment_test_includedir = $(includedir)/paludis/environments/test +paludis_environment_test_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/environments/test paludis_environment_test_include_HEADERS = test_environment.hh built-sources : $(BUILT_SOURCES) diff --git a/paludis/merger/Makefile.am b/paludis/merger/Makefile.am index e279289e8..1f8087948 100644 --- a/paludis/merger/Makefile.am +++ b/paludis/merger/Makefile.am @@ -14,7 +14,7 @@ DEFS= \ -DDATADIR=\"$(datadir)\" \ -DLIBDIR=\"$(libdir)\" -paludis_merger_includedir = $(includedir)/paludis/merger +paludis_merger_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/merger paludis_merger_include_HEADERS = \ entry_type.hh \ merger.hh \ diff --git a/paludis/qa/Makefile.am.m4 b/paludis/qa/Makefile.am.m4 index 00354cb41..1bd22729e 100644 --- a/paludis/qa/Makefile.am.m4 +++ b/paludis/qa/Makefile.am.m4 @@ -100,7 +100,7 @@ lib_LTLIBRARIES = libpaludisqa.la endif -paludis_qaincludedir = $(includedir)/paludis/qa/ +paludis_qaincludedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/qa/ paludis_qainclude_HEADERS = headerlist srheaderlist endif diff --git a/paludis/repositories/Makefile.am b/paludis/repositories/Makefile.am index db733f4ab..e1f0a9d35 100644 --- a/paludis/repositories/Makefile.am +++ b/paludis/repositories/Makefile.am @@ -18,7 +18,7 @@ built-sources : $(BUILT_SOURCES) lib_LTLIBRARIES = libpaludisrepositories.la -paludis_repositories_includedir = $(includedir)/paludis/repositories/ +paludis_repositories_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/repositories/ paludis_repositories_include_HEADERS = \ repository_maker.hh diff --git a/paludis/repositories/cran/Makefile.am b/paludis/repositories/cran/Makefile.am index 2df63107c..7610dff5e 100644 --- a/paludis/repositories/cran/Makefile.am +++ b/paludis/repositories/cran/Makefile.am @@ -22,7 +22,7 @@ paludis_repositories_lib_LTLIBRARIES = libpaludiscranrepository.la endif -paludis_repositories_cran_includedir = $(includedir)/paludis/repositories/cran/ +paludis_repositories_cran_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/repositories/cran/ libpaludiscranrepository_la_LDFLAGS = -version-info @VERSION_LIB_CURRENT@:@VERSION_LIB_REVISION@:0 paludis_repositories_cran_include_HEADERS = \ diff --git a/paludis/repositories/fake/Makefile.am b/paludis/repositories/fake/Makefile.am index dcc3eeb53..4e4bf4cf0 100644 --- a/paludis/repositories/fake/Makefile.am +++ b/paludis/repositories/fake/Makefile.am @@ -34,7 +34,7 @@ endif libpaludisfakerepository_la_LDFLAGS = -version-info @VERSION_LIB_CURRENT@:@VERSION_LIB_REVISION@:0 -paludis_repositories_fake_includedir = $(includedir)/paludis/repositories/fake/ +paludis_repositories_fake_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/repositories/fake/ paludis_repositories_fake_include_HEADERS = \ fake_repository.hh \ fake_repository_base.hh \ diff --git a/paludis/repositories/gems/Makefile.am b/paludis/repositories/gems/Makefile.am index 9cf021884..10c1e3407 100644 --- a/paludis/repositories/gems/Makefile.am +++ b/paludis/repositories/gems/Makefile.am @@ -15,7 +15,7 @@ paludis_gems_libexecdir = $(libexecdir)/paludis/gems paludis_repositories_lib_LTLIBRARIES = libpaludisgemsrepository.la -paludis_repositories_gems_includedir = $(includedir)/paludis/repositories/gems/ +paludis_repositories_gems_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/repositories/gems/ libpaludisgemsrepository_la_LDFLAGS = -version-info @VERSION_LIB_CURRENT@:@VERSION_LIB_REVISION@:0 paludis_repositories_gems_include_HEADERS = \ diff --git a/paludis/repositories/gentoo/Makefile.am b/paludis/repositories/gentoo/Makefile.am index 5051e079d..39caeeb0c 100644 --- a/paludis/repositories/gentoo/Makefile.am +++ b/paludis/repositories/gentoo/Makefile.am @@ -28,7 +28,7 @@ lib_LTLIBRARIES = libpaludisgentoorepositoryxmlthings.la endif -paludis_repositories_gentoo_includedir = $(includedir)/paludis/repositories/gentoo/ +paludis_repositories_gentoo_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/repositories/gentoo/ libpaludisgentoorepository_la_LDFLAGS = -version-info @VERSION_LIB_CURRENT@:@VERSION_LIB_REVISION@:0 paludis_repositories_gentoo_include_HEADERS = \ diff --git a/paludis/repositories/virtuals/Makefile.am b/paludis/repositories/virtuals/Makefile.am index ddcde29e0..db4f46872 100644 --- a/paludis/repositories/virtuals/Makefile.am +++ b/paludis/repositories/virtuals/Makefile.am @@ -21,7 +21,7 @@ paludis_repositories_lib_LTLIBRARIES = libpaludisvirtualsrepository.la endif -paludis_repositories_virtuals_includedir = $(includedir)/paludis/repositories/virtuals/ +paludis_repositories_virtuals_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/repositories/virtuals/ libpaludisvirtualsrepository_la_LDFLAGS = -version-info @VERSION_LIB_CURRENT@:@VERSION_LIB_REVISION@:0 paludis_repositories_virtuals_include_HEADERS = \ diff --git a/paludis/selinux/Makefile.am b/paludis/selinux/Makefile.am index 3067616d1..8df02e988 100644 --- a/paludis/selinux/Makefile.am +++ b/paludis/selinux/Makefile.am @@ -2,7 +2,7 @@ MAINTAINERCLEANFILES = Makefile.in CLEANFILES = *~ SUBDIRS = . -paludis_selinux_includedir = $(includedir)/paludis/selinux/ +paludis_selinux_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/selinux/ paludis_selinux_include_HEADERS = \ security_context.hh diff --git a/paludis/tasks/Makefile.am b/paludis/tasks/Makefile.am index 37562c791..a07b86dd1 100644 --- a/paludis/tasks/Makefile.am +++ b/paludis/tasks/Makefile.am @@ -20,7 +20,7 @@ check_PROGRAMS = $(TESTS) check_SCRIPTS = lib_LTLIBRARIES = libpaludistasks.la -paludis_tasks_includedir = $(includedir)/paludis/tasks +paludis_tasks_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/tasks paludis_tasks_include_HEADERS = \ find_unused_packages_task.hh \ install_task.hh \ diff --git a/paludis/util/Makefile.am.m4 b/paludis/util/Makefile.am.m4 index e43637a34..f4de57783 100644 --- a/paludis/util/Makefile.am.m4 +++ b/paludis/util/Makefile.am.m4 @@ -100,7 +100,7 @@ lib_LTLIBRARIES = libpaludisutil.la endif -paludis_util_includedir = $(includedir)/paludis/util/ +paludis_util_includedir = $(includedir)/paludis-$(PALUDIS_PC_SLOT)/paludis/util/ paludis_util_include_HEADERS = headerlist srheaderlist seheaderlist Makefile.am : Makefile.am.m4 files.m4 diff --git a/pkg-config/Makefile.am b/pkg-config/Makefile.am new file mode 100644 index 000000000..384c9c135 --- /dev/null +++ b/pkg-config/Makefile.am @@ -0,0 +1,19 @@ +MAINTAINERCLEANFILES = Makefile.in +pkgconfigdir = $(libdir)/pkgconfig/ +pkgconfig_DATA = paludis.pc +EXTRA_DIST = paludis.pc.in +CLEANFILES = paludis.pc + +built-sources : $(BUILT_SOURCES) + for s in $(SUBDIRS) ; do $(MAKE) -C $$s built-sources || exit 1 ; done + +paludis.pc : paludis.pc.in Makefile + sed \ + -e "s,#PALUDIS_PC_PREFIX#,$(prefix)," \ + -e "s,#PALUDIS_PC_LIBDIR#,$(libdir)," \ + -e "s,#PALUDIS_PC_INCLUDEDIR#,$(includedir)/paludis-$(PALUDIS_PC_SLOT)," \ + -e "s,#PALUDIS_PC_VERSION#,$(PALUDIS_PC_VERSION)," \ + -e "s,#PALUDIS_PC_LIBS#,$(PALUDIS_PC_LIBS)," \ + -e "s,#PALUDIS_PC_CFLAGS#,$(PALUDIS_PC_CFLAGS)," \ + < $(srcdir)/paludis.pc.in > paludis.pc + diff --git a/pkg-config/paludis.pc.in b/pkg-config/paludis.pc.in new file mode 100644 index 000000000..b926c4ac8 --- /dev/null +++ b/pkg-config/paludis.pc.in @@ -0,0 +1,11 @@ +prefix=#PALUDIS_PC_PREFIX# +exec_prefix=${prefix} +libdir=#PALUDIS_PC_LIBDIR# +includedir=#PALUDIS_PC_INCLUDEDIR# + +Name: Paludis +Description: The Other Package Mangler +Version: #PALUDIS_PC_VERSION# +Libs: -L${libdir} #PALUDIS_PC_LIBS# +Cflags: -I${includedir} #PALUDIS_PC_CFLAGS# + |