Index: chicken.makefile ================================================================== --- chicken.makefile +++ chicken.makefile @@ -49,29 +49,31 @@ tgz-$(USER)/ffcall.tar.gz : wget -c -O tgz-$(USER)/ffcall.tar.gz 'http://www.kiatoa.com/fossils/ffcall/tarball?name=ffcall&uuid=trunk' $(CHICKEN_PREFIX)/bin/pg_config : tgz-$(USER)/postgresql-9.6.4.tar.gz - mkdir -p build-$(USER)/ + mkdir -p build-$(USER) tar xfz tgz-$(USER)/postgresql-9.6.4.tar.gz -C build-$(USER) - if [[ -e $(CHICKEN_PREFIX)/bin/pg_config ]];then touch $(CHICKEN_PREFIX)/bin/pg_config;fi cd build-$(USER)/postgresql-9.6.4; ./configure --prefix=$(CHICKEN_PREFIX) --with-openssl; make; make install + if [[ -e $(CHICKEN_PREFIX)/bin/pg_config ]];then touch $(CHICKEN_PREFIX)/bin/pg_config;fi build-$(USER)/sqlite-autoconf-3090200/configure : tgz-$(USER)/sqlite-autoconf-3090200.tar.gz mkdir -p build-$(USER); cd build-$(USER); tar xf ../tgz-$(USER)/sqlite-autoconf-3090200.tar.gz + if [[ -e build-$(USER)/sqlite-autoconf-3090200/configure ]];then touch build-$(USER)/sqlite-autoconf-3090200/configure;fi -$(CHICKEN_PREFIX)/lib/libnanomsg.so : tgz-$(USER)/nanomsg-1.0.0.tar.gz +# bin/.11/lib64/libnanomsg.so +$(CHICKEN_PREFIX)/bin/nanocat : tgz-$(USER)/nanomsg-1.0.0.tar.gz cd tgz-$(USER); tar -xzvf nanomsg-1.0.0.tar.gz cd tgz-$(USER)/nanomsg-1.0.0; mkdir build-$(USER); cd build-$(USER); cd tgz-$(USER)/nanomsg-1.0.0/build-$(USER); cmake ../ -DCMAKE_INSTALL_PREFIX=$(CHICKEN_PREFIX) cd tgz-$(USER)/nanomsg-1.0.0/build-$(USER); make; make install -$(CHICKEN_PREFIX)/chicken-4.13.0/LICENSE : tgz-$(USER)/chicken-4.13.0.tar.gz +build-$(USER)/chicken-4.13.0/LICENSE : tgz-$(USER)/chicken-4.13.0.tar.gz mkdir -p build-$(USER)/eggs-installed cd build-$(USER);tar xf ../tgz-$(USER)/chicken-4.13.0.tar.gz - if [[ -e $(CHICKEN_PREFIX)/chicken-4.13.0/LICENSE ]];then touch $(CHICKEN_PREFIX)/chicken-4.13.0/LICENSE;fi + if [[ -e build-$(USER)/chicken-4.13.0/LICENSE ]];then touch build-$(USER)/chicken-4.13.0/LICENSE;fi tgz-$(USER)/opensrc.fossil : cd tgz-$(USER); fossil clone http://www.kiatoa.com/fossils/opensrc opensrc.fossil mkdir tgz-$(USER)/opensrc cd tgz-$(USER)/opensrc; fossil open --nested ../opensrc.fossil; fossil up; fossil uv sync @@ -87,46 +89,51 @@ rsync -av tgz-$(USER)/*.so $(CHICKEN_PREFIX)/lib/ rsync -av tgz-$(USER)/*.a $(CHICKEN_PREFIX)/lib/ rsync -av tgz-$(USER)/ftgl/lib/*/* $(CHICKEN_PREFIX)/lib/ if [[ -e $(CHICKEN_PREFIX)/lib/libiupweb.so ]];then touch $(CHICKEN_PREFIX)/lib/libiupweb.so;fi -EGGS=srfi-69 srfi-42 sqlite3 iup canvas-draw typed-records md5 regex-case base64 \ +# removed hahn-utils as it requires libgit2 +EGGS=srfi-69 srfi-42 typed-records md5 regex-case base64 \ format dot-locking csv-xml z3 udp hostinfo directory-utils stack dbi crypt sha1 \ posix-extras pathname-expand csv call-with-environment-variables s11n spiffy \ uri-common intarweb http-client spiffy-request-vars spiffy-directory-listing \ ansi-escape-sequences test slice rfc3339 uuid-lib filepath srfi-19 sparse-vectors \ -sql-de-lite fmt readline apropos json simple-exceptions rpc trace logpro refdb postgresql nanomsg +sql-de-lite fmt readline apropos json simple-exceptions rpc trace logpro refdb EGGSTARG=$(addsuffix .done,$(addprefix build-$(USER)/eggs-installed/,$(EGGS))) -EGGSTARG2=$(addsuffix .done, $(EGGS)) +# EGGSTARG2=$(addsuffix .done, $(EGGS)) + +$(EGGSTARG) : sqlite3.done +build-$(USER)/eggs-installed/call-with-environment-variables.done : build-$(USER)/eggs-installed/hahn-utils.done $(CHICKEN_PREFIX)/lib/libcallback.a : tgz-$(USER)/ffcall.tar.gz cd tgz-$(USER); tar -xzvf ffcall.tar.gz cd tgz-$(USER)/ffcall; ./configure --prefix=$(CHICKEN_PREFIX) --enable-shared cd tgz-$(USER)/ffcall; make CC="gcc -fPIC"; make install $(CHICKEN_PREFIX)/bin/sqlite3 : build-$(USER)/sqlite-autoconf-3090200/configure cd build-$(USER)/sqlite-autoconf-3090200; ./configure --prefix=$(CHICKEN_PREFIX); make; make install -$(CHICKEN_PREFIX)/bin/csi : $(SQLITE3_DEPS) $(CHICKEN_PREFIX)/chicken-4.13.0/LICENSE +$(CHICKEN_PREFIX)/bin/csi : $(SQLITE3_DEPS) build-$(USER)/chicken-4.13.0/LICENSE $(NANOMSG_DEPS) cd build-$(USER)/chicken-4.13.0;make PLATFORM=linux PREFIX=$(CHICKEN_PREFIX) cd build-$(USER)/chicken-4.13.0;make PLATFORM=linux PREFIX=$(CHICKEN_PREFIX) install -ALL_CKBIN=chicken chicken-bind chicken-bug chicken-dump \ -chicken-install chicken-profile chicken-sqlite3 chicken-status \ -chicken-uninstall csc csi feathers nanocat sqlite3 vacuumdb logpro \ -refdb +# NOTE: generate this list with an ls of $(CHICKEN_PREFIX)/bin +# removed chicken-bind vacuumdb +ALL_CKBIN=$(shell echo chicken chicken-bug chicken-install chicken-profile \ +chicken-status chicken-uninstall csc csi feathers nanocat sqlite3 \ +logpro refdb $(shell ls $(CHICKEN_PREFIX)/bin) | sort -u) CKBIN_WRAPPERS=$(addprefix $(PREFIX)/bin/,$(ALL_CKBIN)) -$(PREFIX)/bin/% : $(CHICKEN_PREFIX)/bin/% $(CHICKEN_PREFIX)/bin/csi $(EGGSTARG2) +$(PREFIX)/bin/% : $(CHICKEN_PREFIX)/bin/% $(CHICKEN_PREFIX)/bin/csi $(EGGSTARG) utils/mk_wrapper_tool $(PREFIX) $* $(PREFIX)/bin/$* chmod a+x $(PREFIX)/bin/$* $(PREFIX)/bin : mkdir -p $(PREFIX)/bin $(CHICKEN_PREFIX)/bin -chicken : $(PREFIX)/bin $(CHICKEN_PREFIX)/bin/csi binwrappers +chicken : $(PREFIX)/bin $(CHICKEN_PREFIX)/bin/csi binwrappers iup.done canvas-draw.done @echo "Fake target to build prefix chicken" binwrappers : $(CKBIN_WRAPPERS) # Turn on postgres if configure did not find the library @@ -137,36 +144,43 @@ # Turn on sqlite3 if configure did not find the library ifeq ($(BUILD_SQLITE3),yes) SQLITE3_DEPS=$(CHICKEN_PREFIX)/bin/sqlite3 endif -postgresql.done : $(POSTGRES_DEPS) +ifeq ($(BUILD_NANOMSG),yes) +NANOMSG_DEPS=$(CHICKEN_PREFIX)/bin/nanocat +endif + +# NOTE: added dep to csi in following .done targets to ensure chicken is built first + +postgresql.done : $(POSTGRES_DEPS) $(CHICKEN_PREFIX)/bin/csi CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib -L$(CHICKEN_PREFIX)/lib64" $(CHICKEN_PREFIX)/bin/chicken-install postgresql > postgresql.done -nanomsg.done : $(CHICKEN_PREFIX)/lib/libnanomsg.so +# was $(CHICKEN_PREFIX)/lib64/libnanomsg.so +nanomsg.done : $(NANOMSG_DEPS) $(CHICKEN_PREFIX)/bin/csi CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib -L$(CHICKEN_PREFIX)/lib64" $(CHICKEN_PREFIX)/bin/chicken-install nanomsg > nanomsg.done -iup.done : $(CHICKEN_PREFIX)/lib/libcallback.a $(CHICKEN_PREFIX)/lib/libiupweb.so +iup.done : $(CHICKEN_PREFIX)/lib/libcallback.a $(CHICKEN_PREFIX)/lib/libiupweb.so $(CHICKEN_PREFIX)/bin/csi CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib" $(CHICKEN_PREFIX)/bin/chicken-install -D no-library-checks -feature disable-iup-web -feature disable-iup-pplot -feature disable-iup-matrixex iup$(IUPEGGVER) > iup.done -canvas-draw.done : +canvas-draw.done : iup.done $(CHICKEN_PREFIX)/bin/csi CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib" $(CHICKEN_PREFIX)/bin/chicken-install -D no-library-checks canvas-draw > canvas-draw.done -sqlite3.done : $(SQLITE3_DEPS) +sqlite3.done : $(SQLITE3_DEPS) $(CHICKEN_PREFIX)/bin/csi CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib" $(CHICKEN_PREFIX)/bin/chicken-install sqlite3 > sqlite3.done -sql-de-lite.done : +sql-de-lite.done : $(CHICKEN_PREFIX)/bin/csi CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib" $(CHICKEN_PREFIX)/bin/chicken-install sql-de-lite > sql-de-lite.done dbi.done : postgresql.done sqlite3.done sql-de-lite.done CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib" $(CHICKEN_PREFIX)/bin/chicken-install dbi > dbi.done logpro.done : typed-records.done -%.done : - $(CHICKEN_PREFIX)/bin/chicken-install $* > $*.done +build-$(USER)/eggs-installed/%.done : + $(CHICKEN_PREFIX)/bin/chicken-install $* > build-$(USER)/eggs-installed/$*.done -build-$(USER)/eggs-installed/%.done : $(CHICKEN_PREFIX)/bin/csi $(EGGS) +build-$(USER)/eggs-installed/%.done : $(CHICKEN_PREFIX)/bin/csi $(CHICKEN_PREFIX)/bin/chicken-install $* > build-$(USER)/eggs-installed/$*.done build-clean : - rm -rf build-$(USER) bin + rm -rf build-$(USER) bin *.done Index: configure ================================================================== --- configure +++ configure @@ -131,11 +131,11 @@ fi # Make setup scripts echo "#!/bin/bash" > setup.sh echo "export PATH=$CHICKEN_PREFIX/bin:\$PATH" >> setup.sh -echo "export LD_LIBRARY_PATH=$CHICKEN_PREFIX/lib" >> setup.sh +echo "export LD_LIBRARY_PATH=$CHICKEN_PREFIX/lib:$CHICKEN_PREFIX/lib64" >> setup.sh echo 'exec "$@"' >> setup.sh chmod a+x setup.sh echo "setenv PATH $CHICKEN_PREFIX/bin:\$PATH" > setup.csh echo "setenv LD_LIBRARY_PATH $CHICKEN_PREFIX/lib" >> setup.csh