* Allow linking against an external Berkeley DB / ATerm library.
This commit is contained in:
		
							parent
							
								
									f34de12140
								
							
						
					
					
						commit
						0dfdafdf6d
					
				
					 11 changed files with 47 additions and 18 deletions
				
			
		|  | @ -1,5 +1,4 @@ | ||||||
| SUBDIRS = externals src scripts corepkgs doc | SUBDIRS = externals src scripts corepkgs doc | ||||||
| 
 |  | ||||||
| EXTRA_DIST = substitute.mk nix.spec nix.spec.in | EXTRA_DIST = substitute.mk nix.spec nix.spec.in | ||||||
| 
 | 
 | ||||||
| include ./substitute.mk | include ./substitute.mk | ||||||
|  |  | ||||||
							
								
								
									
										28
									
								
								configure.ac
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								configure.ac
									
										
									
									
									
								
							|  | @ -68,6 +68,34 @@ AC_ARG_WITH(store-dir, AC_HELP_STRING([--with-store-dir=PATH], | ||||||
|   storedir=$withval, storedir='${prefix}/store') |   storedir=$withval, storedir='${prefix}/store') | ||||||
| AC_SUBST(storedir) | AC_SUBST(storedir) | ||||||
| 
 | 
 | ||||||
|  | AC_ARG_WITH(bdb, AC_HELP_STRING([--with-bdb=PATH], | ||||||
|  |   [prefix of Berkeley DB]), | ||||||
|  |   bdb=$withval, bdb=) | ||||||
|  | AM_CONDITIONAL(HAVE_BDB, test -n "$bdb") | ||||||
|  | if test -z "$bdb"; then | ||||||
|  |   bdb_lib='-L${top_builddir}/externals/inst-bdb/lib -ldb_cxx' | ||||||
|  |   bdb_include='-I${top_builddir}/externals/inst-bdb/include' | ||||||
|  | else | ||||||
|  |   bdb_lib="-L$bdb/lib -Wl,-rpath,$bdb/lib -ldb_cxx" | ||||||
|  |   bdb_include="-I$bdb/include" | ||||||
|  | fi | ||||||
|  | AC_SUBST(bdb_lib) | ||||||
|  | AC_SUBST(bdb_include) | ||||||
|  | 
 | ||||||
|  | AC_ARG_WITH(aterm, AC_HELP_STRING([--with-aterm=PATH], | ||||||
|  |   [prefix of CWI ATerm library]), | ||||||
|  |   aterm=$withval, aterm=) | ||||||
|  | AM_CONDITIONAL(HAVE_ATERM, test -n "$aterm") | ||||||
|  | if test -z "$aterm"; then | ||||||
|  |   aterm_lib='-L${top_builddir}/externals/inst-aterm/lib -lATerm' | ||||||
|  |   aterm_include='-I${top_builddir}/externals/inst-aterm/include' | ||||||
|  | else | ||||||
|  |   aterm_lib="-L$aterm/lib -Wl,-rpath,$aterm/lib -lATerm" | ||||||
|  |   aterm_include="-I$aterm/include" | ||||||
|  | fi | ||||||
|  | AC_SUBST(aterm_lib) | ||||||
|  | AC_SUBST(aterm_include) | ||||||
|  | 
 | ||||||
| AC_CHECK_LIB(pthread, pthread_mutex_init) | AC_CHECK_LIB(pthread, pthread_mutex_init) | ||||||
| 
 | 
 | ||||||
| AM_CONFIG_HEADER([config.h]) | AM_CONFIG_HEADER([config.h]) | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								externals/Makefile.am
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								externals/Makefile.am
									
										
									
									
										vendored
									
									
								
							|  | @ -16,16 +16,20 @@ have-db: | ||||||
| 	$(MAKE) $(DB) | 	$(MAKE) $(DB) | ||||||
| 	touch have-db | 	touch have-db | ||||||
| 
 | 
 | ||||||
|  | if HAVE_BDB | ||||||
|  | build-db: | ||||||
|  | else | ||||||
| build-db: have-db | build-db: have-db | ||||||
| 	(pfx=`pwd` && \ | 	(pfx=`pwd` && \ | ||||||
| 	cd $(DB)/build_unix && \ | 	cd $(DB)/build_unix && \ | ||||||
| 	CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ | 	CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ | ||||||
| 	 ../dist/configure --prefix=$$pfx/inst \ | 	 ../dist/configure --prefix=$$pfx/inst-bdb \ | ||||||
| 	 --enable-cxx --disable-shared --disable-cryptography \ | 	 --enable-cxx --disable-shared --disable-cryptography \ | ||||||
|          --disable-replication --disable-verify && \ |          --disable-replication --disable-verify && \ | ||||||
| 	make && \ | 	make && \ | ||||||
| 	make install) | 	make install) | ||||||
| 	touch build-db | 	touch build-db | ||||||
|  | endif | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # CWI ATerm | # CWI ATerm | ||||||
|  | @ -49,7 +53,7 @@ have-aterm: | ||||||
| build-aterm: have-aterm | build-aterm: have-aterm | ||||||
| 	(pfx=`pwd` && \ | 	(pfx=`pwd` && \ | ||||||
| 	cd $(ATERM) && \ | 	cd $(ATERM) && \ | ||||||
| 	CC="$(CC)" ./configure --prefix=$$pfx/inst \ | 	CC="$(CC)" ./configure --prefix=$$pfx/inst-aterm \ | ||||||
|      --with-cflags="-DNDEBUG -DXGC_VERBOSE -DXHASHPEM -DWITH_STATS $(CFLAGS)" && \ |      --with-cflags="-DNDEBUG -DXGC_VERBOSE -DXHASHPEM -DWITH_STATS $(CFLAGS)" && \ | ||||||
| 	make && \ | 	make && \ | ||||||
| 	make install) | 	make install) | ||||||
|  |  | ||||||
|  | @ -7,9 +7,9 @@ libexpr_a_SOURCES = nixexpr.cc nixexpr.hh parser.cc parser.hh \ | ||||||
| EXTRA_DIST = lexer.l parser.y | EXTRA_DIST = lexer.l parser.y | ||||||
| 
 | 
 | ||||||
| AM_CXXFLAGS = \ | AM_CXXFLAGS = \ | ||||||
|  -I.. -I../../externals/inst/include -I../libutil -I../libstore |  -I.. ${bdb_include} ${aterm_include} -I../libutil -I../libstore | ||||||
| AM_CFLAGS = \ | AM_CFLAGS = \ | ||||||
|  -I../../externals/inst/include |  ${aterm_include} | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # Parser generation. | # Parser generation. | ||||||
|  |  | ||||||
|  | @ -8,4 +8,4 @@ AM_CXXFLAGS = \ | ||||||
|  -DNIX_STATE_DIR=\"$(localstatedir)/nix\" \ |  -DNIX_STATE_DIR=\"$(localstatedir)/nix\" \ | ||||||
|  -DNIX_LOG_DIR=\"$(localstatedir)/log/nix\" \ |  -DNIX_LOG_DIR=\"$(localstatedir)/log/nix\" \ | ||||||
|  -DNIX_VERSION=\"$(VERSION)\" \ |  -DNIX_VERSION=\"$(VERSION)\" \ | ||||||
|  -I.. -I../../externals/inst/include -I../libutil -I../libstore |  -I.. ${aterm_include} -I../libutil -I../libstore | ||||||
|  |  | ||||||
|  | @ -7,4 +7,4 @@ libstore_a_SOURCES = \ | ||||||
|  references.cc references.hh pathlocks.cc pathlocks.hh |  references.cc references.hh pathlocks.cc pathlocks.hh | ||||||
| 
 | 
 | ||||||
| AM_CXXFLAGS = -Wall \ | AM_CXXFLAGS = -Wall \ | ||||||
|  -I.. -I../../externals/inst/include -I../libutil |  -I.. ${bdb_include} ${aterm_include} -I../libutil | ||||||
|  |  | ||||||
|  | @ -3,11 +3,11 @@ noinst_LIBRARIES = libutil.a | ||||||
| libutil_a_SOURCES = util.cc util.hh hash.cc hash.hh \ | libutil_a_SOURCES = util.cc util.hh hash.cc hash.hh \ | ||||||
|  archive.cc archive.hh md5.c md5.h aterm.cc aterm.hh |  archive.cc archive.hh md5.c md5.h aterm.cc aterm.hh | ||||||
| 
 | 
 | ||||||
| AM_CXXFLAGS = -DSYSTEM=\"@system@\" -Wall -I.. -I../../externals/inst/include | AM_CXXFLAGS = -DSYSTEM=\"@system@\" -Wall -I.. ${aterm_include} | ||||||
| 
 | 
 | ||||||
| check_PROGRAMS = test-aterm | check_PROGRAMS = test-aterm | ||||||
| 
 | 
 | ||||||
| test_aterm_SOURCES = test-aterm.cc | test_aterm_SOURCES = test-aterm.cc | ||||||
| test_aterm_LDADD = ./libutil.a ../boost/format/libformat.a \ | test_aterm_LDADD = ./libutil.a ../boost/format/libformat.a \ | ||||||
|  -L../../externals/inst/lib -ldb_cxx -lATerm |  ${aterm_lib} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,8 +4,7 @@ nix_env_SOURCES = main.cc names.cc names.hh \ | ||||||
|  profiles.cc profiles.hh help.txt |  profiles.cc profiles.hh help.txt | ||||||
| nix_env_LDADD = ../libmain/libmain.a ../libexpr/libexpr.a \ | nix_env_LDADD = ../libmain/libmain.a ../libexpr/libexpr.a \ | ||||||
|  ../libstore/libstore.a ../libutil/libutil.a \ |  ../libstore/libstore.a ../libutil/libutil.a \ | ||||||
|  ../boost/format/libformat.a -L../../externals/inst/lib -ldb_cxx \ |  ../boost/format/libformat.a ${bdb_lib} ${aterm_lib} | ||||||
|  -lATerm |  | ||||||
| 
 | 
 | ||||||
| main.o: help.txt.hh | main.o: help.txt.hh | ||||||
| 
 | 
 | ||||||
|  | @ -13,7 +12,7 @@ main.o: help.txt.hh | ||||||
| 	../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) | 	../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) | ||||||
| 
 | 
 | ||||||
| AM_CXXFLAGS = \ | AM_CXXFLAGS = \ | ||||||
|  -I.. -I../../externals/inst/include -I../libutil -I../libstore \ |  -I.. ${bdb_include} ${aterm_include} -I../libutil -I../libstore \ | ||||||
|  -I../libexpr -I../libmain |  -I../libexpr -I../libmain | ||||||
| 
 | 
 | ||||||
| install-data-local: | install-data-local: | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ bin_PROGRAMS = nix-hash | ||||||
| 
 | 
 | ||||||
| nix_hash_SOURCES = nix-hash.cc help.txt | nix_hash_SOURCES = nix-hash.cc help.txt | ||||||
| nix_hash_LDADD = ../libmain/libmain.a ../libstore/libstore.a ../libutil/libutil.a \ | nix_hash_LDADD = ../libmain/libmain.a ../libstore/libstore.a ../libutil/libutil.a \ | ||||||
|  ../boost/format/libformat.a -L../../externals/inst/lib -ldb_cxx -lATerm |  ../boost/format/libformat.a ${bdb_lib} ${aterm_lib} | ||||||
| 
 | 
 | ||||||
| nix-hash.o: help.txt.hh | nix-hash.o: help.txt.hh | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -3,8 +3,7 @@ bin_PROGRAMS = nix-instantiate | ||||||
| nix_instantiate_SOURCES = main.cc help.txt | nix_instantiate_SOURCES = main.cc help.txt | ||||||
| nix_instantiate_LDADD = ../libmain/libmain.a ../libexpr/libexpr.a \ | nix_instantiate_LDADD = ../libmain/libmain.a ../libexpr/libexpr.a \ | ||||||
|  ../libstore/libstore.a ../libutil/libutil.a \ |  ../libstore/libstore.a ../libutil/libutil.a \ | ||||||
|  ../boost/format/libformat.a -L../../externals/inst/lib -ldb_cxx \ |  ../boost/format/libformat.a ${bdb_lib} ${aterm_lib} | ||||||
|  -lATerm |  | ||||||
| 
 | 
 | ||||||
| main.o: help.txt.hh | main.o: help.txt.hh | ||||||
| 
 | 
 | ||||||
|  | @ -12,5 +11,5 @@ main.o: help.txt.hh | ||||||
| 	../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) | 	../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) | ||||||
| 
 | 
 | ||||||
| AM_CXXFLAGS = \ | AM_CXXFLAGS = \ | ||||||
|  -I.. -I../../externals/inst/include -I../libutil -I../libstore \ |  -I.. ${bdb_include} ${aterm_include} -I../libutil -I../libstore \ | ||||||
|  -I../libexpr -I../libmain |  -I../libexpr -I../libmain | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ bin_PROGRAMS = nix-store | ||||||
| 
 | 
 | ||||||
| nix_store_SOURCES = main.cc dotgraph.cc dotgraph.hh help.txt | nix_store_SOURCES = main.cc dotgraph.cc dotgraph.hh help.txt | ||||||
| nix_store_LDADD = ../libmain/libmain.a ../libstore/libstore.a ../libutil/libutil.a \ | nix_store_LDADD = ../libmain/libmain.a ../libstore/libstore.a ../libutil/libutil.a \ | ||||||
|  ../boost/format/libformat.a -L../../externals/inst/lib -ldb_cxx -lATerm |  ../boost/format/libformat.a ${bdb_lib} ${aterm_lib} | ||||||
| 
 | 
 | ||||||
| main.o: help.txt.hh | main.o: help.txt.hh | ||||||
| 
 | 
 | ||||||
|  | @ -10,7 +10,7 @@ main.o: help.txt.hh | ||||||
| 	../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) | 	../bin2c/bin2c helpText < $< > $@ || (rm $@ && exit 1) | ||||||
| 
 | 
 | ||||||
| AM_CXXFLAGS = \ | AM_CXXFLAGS = \ | ||||||
|  -I.. -I../../externals/inst/include -I../libutil -I../libstore -I../libmain |  -I.. ${bdb_include} $(aterm_include) -I../libutil -I../libstore -I../libmain | ||||||
| 
 | 
 | ||||||
| init-state-local: | init-state-local: | ||||||
| 	$(INSTALL) -d $(DESTDIR)$(localstatedir)/nix | 	$(INSTALL) -d $(DESTDIR)$(localstatedir)/nix | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue