Megatest

Check-in [d825e32743]
Login
Overview
Comment:Makefile: chicken target now depends on a CHICKEN_PREFIX variable. Seems to build find on sles11. Next steps to modularize so it can be plugged in for various platforms
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.65-newview
Files: files | file ages | folders
SHA1: d825e32743716501b8fe878f973898a5caa0c450
User & Date: jmoon18 on 2020-04-27 16:23:35
Other Links: branch diff | manifest | tags
Context
2020-04-27
19:42
Added user specific build dir to chicken build check-in: 0cb77d7f74 user: jmoon18 tags: v1.65-newview, v1.6546-beta
18:31
Merged Makefile fix from newview branch check-in: 15b59cfa42 user: mrwellan tags: v1.6546, v1.65-broken
16:23
Makefile: chicken target now depends on a CHICKEN_PREFIX variable. Seems to build find on sles11. Next steps to modularize so it can be plugged in for various platforms check-in: d825e32743 user: jmoon18 tags: v1.65-newview
15:23
Updates to Makefile so that it should be able to build chicken, sqlite3, nanomsg, iup and all needed eggs from scratch. Currently only in pwd/build/ directory check-in: 220b14a861 user: jmoon18 tags: v1.65-newview
Changes

Modified Makefile from [5c432e409b] to [fdf92a2de4].

15
16
17
18
19
20
21

22
23
24
25
26
27
28
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29







+







#     You should have received a copy of the GNU General Public License
#     along with Megatest.  If not, see <http://www.gnu.org/licenses/>.

# make install CSCOPTS='-accumulate-profile -profile-name $(PWD)/profile-ww$(shell date +%V.%u)'
# rm <files>.o ; make install CSCOPTS='-profile' ; ... ;  chicken-profile | less
SHELL=/bin/bash
PREFIX=$(PWD)
CHICKEN_PREFIX=$(PWD)/new-chicken/
CSCOPTS=
INSTALL=install
SRCFILES = common.scm items.scm launch.scm ods.scm runconfig.scm	\
           server.scm configf.scm db.scm keys.scm margs.scm		\
           megatest-version.scm process.scm runs.scm tasks.scm		\
           tests.scm genexample.scm http-transport.scm filedb.scm	\
           tdb.scm client.scm mt.scm ezsteps.scm lock-queue.scm		\
461
462
463
464
465
466
467
468

469
470
471
472

473
474
475

476
477
478

479
480
481
482
483
484
485
486
487

488
489
490
491
492
493
494
495
496
497




498
499
500
501
502
503
504
505
506
507
508

509
510

511
512
513
514


515
516
517
518



519



520
521


522
523
524


525
526
527

528
529
530

531
532
533

534
535
536

537
538
539

540
541
542
543
544
545
546
462
463
464
465
466
467
468

469
470
471
472

473
474
475

476
477
478

479
480
481
482
483
484
485
486
487

488
489
490
491
492
493
494




495
496
497
498
499
500
501
502
503
504
505
506
507
508

509
510

511
512
513


514
515
516



517
518
519
520
521
522
523


524
525
526


527
528
529
530

531
532
533

534
535
536

537
538
539

540
541
542

543
544
545
546
547
548
549
550







-
+



-
+


-
+


-
+








-
+






-
-
-
-
+
+
+
+










-
+

-
+


-
-
+
+

-
-
-
+
+
+

+
+
+
-
-
+
+

-
-
+
+


-
+


-
+


-
+


-
+


-
+







tgz/chicken-4.13.0.tar.gz :
	mkdir -p tgz
	curl https://code.call-cc.org/releases/4.13.0/chicken-4.13.0.tar.gz > tgz/chicken-4.13.0.tar.gz

tgz/ffcall.tar.gz :
	wget -c -O tgz/ffcall.tar.gz 'http://www.kiatoa.com/fossils/ffcall/tarball?name=ffcall&uuid=trunk'

build/sqlite-autoconf-3090200/configure : tgz/sqlite-autoconf-3090200.tar.gz
$(CHICKEN_PREFIX)/sqlite-autoconf-3090200/configure : tgz/sqlite-autoconf-3090200.tar.gz
	mkdir -p build;
	cd build; tar xf ../tgz/sqlite-autoconf-3090200.tar.gz

build/lib/libnanomsg.so : tgz/nanomsg-1.0.0.tar.gz
$(CHICKEN_PREFIX)/lib/libnanomsg.so : tgz/nanomsg-1.0.0.tar.gz
	cd tgz; tar -xzvf nanomsg-1.0.0.tar.gz
	cd tgz/nanomsg-1.0.0; mkdir build; cd build;
	cd tgz/nanomsg-1.0.0/build; cmake ../ -DCMAKE_INSTALL_PREFIX=`pwd`/../../../build/
	cd tgz/nanomsg-1.0.0/build; cmake ../ -DCMAKE_INSTALL_PREFIX=$(CHICKEN_PREFIX)
	cd tgz/nanomsg-1.0.0/build; make; make install

build/chicken-4.13.0/LICENSE : tgz/chicken-4.13.0.tar.gz
$(CHICKEN_PREFIX)/chicken-4.13.0/LICENSE : tgz/chicken-4.13.0.tar.gz
	mkdir -p build/eggs-installed
	cd build;tar xf ../tgz/chicken-4.13.0.tar.gz

tgz/opensrc.fossil :
	cd tgz; fossil clone http://www.kiatoa.com/fossils/opensrc opensrc.fossil
	mkdir tgz/opensrc
	cd tgz/opensrc; fossil open --nested ../opensrc.fossil; fossil up; fossil uv sync

build/lib/libiupweb.so : tgz/opensrc.fossil
$(CHICKEN_PREFIX)/lib/libiupweb.so : tgz/opensrc.fossil
	cd tgz/opensrc; fossil unversioned cat libs/cd/cd-5.10_Linux26g4_64_lib.tar.gz > ../cd.tgz
	cd tgz/opensrc; fossil unversioned cat libs/im/im-3.11_Linux26g4_64_lib.tar.gz > ../im.tgz
	cd tgz/opensrc; fossil unversioned cat libs/iup/iup-3.19.1_Linux26g4_64_lib.tar.gz > ../iup.tgz
	cd tgz; tar -xzf cd.tgz;
	cd tgz; tar -xzf im.tgz;
	cd tgz; tar -xzf iup.tgz;
	cp tgz/include/* `pwd`/build/include/
	cp tgz/*.so `pwd`/build/lib/
	cp tgz/*.a  `pwd`/build/lib/
	cp tgz/ftgl/lib/*/* `pwd`/build/lib/
	cp tgz/include/* $(CHICKEN_PREFIX)/include/
	cp tgz/*.so $(CHICKEN_PREFIX)/lib/
	cp tgz/*.a  $(CHICKEN_PREFIX)/lib/
	cp tgz/ftgl/lib/*/* $(CHICKEN_PREFIX)/lib/

EGGS=srfi-69 srfi-42 sqlite3 iup canvas-draw 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
EGGSTARG=$(addsuffix .done,$(addprefix build/eggs-installed/,$(EGGS)))
EGGSTARG2=$(addsuffix .done, $(EGGS))

build/lib/libcallback.a : tgz/ffcall.tar.gz
$(CHICKEN_PREFIX)/lib/libcallback.a : tgz/ffcall.tar.gz
	cd tgz; tar -xzvf ffcall.tar.gz 
	cd tgz/ffcall; ./configure --prefix=`pwd`/../../build --enable-shared
	cd tgz/ffcall; ./configure --prefix=$(CHICKEN_PREFIX) --enable-shared
	cd tgz/ffcall; make CC="gcc -fPIC"; make install	

build/bin/sqlite3 : build/sqlite-autoconf-3090200/configure 
	cd build/sqlite-autoconf-3090200; ./configure --prefix=`pwd`/..; make; make install
$(CHICKEN_PREFIX)/bin/sqlite3 : build/sqlite-autoconf-3090200/configure 
	cd build/sqlite-autoconf-3090200; ./configure --prefix=$(CHICKEN_PREFIX); make; make install

build/bin/csi : build/bin/sqlite3 build/lib/libiupweb.so build/chicken-4.13.0/LICENSE $(EGGSTARG2)
	cd build/chicken-4.13.0;make PLATFORM=linux PREFIX=`pwd`/.. 
	cd build/chicken-4.13.0;make PLATFORM=linux PREFIX=`pwd`/.. install
$(CHICKEN_PREFIX)/bin/csi : $(CHICKEN_PREFIX)/bin/sqlite3 $(CHICKEN_PREFIX)/lib/libiupweb.so $(CHICKEN_PREFIX)/chicken-4.13.0/LICENSE
	cd build/chicken-4.13.0;make PLATFORM=linux PREFIX=$(CHICKEN_PREFIX) 
	cd build/chicken-4.13.0;make PLATFORM=linux PREFIX=$(CHICKEN_PREFIX) install

chicken : $(CHICKEN_PREFIX)/bin/csi $(EGGSTARG2)
	echo "Fake target to build prefix chicken"

nanomsg.done : build/lib/libnanomsg.so
	CSC_OPTIONS="-I`pwd`/build/include -L`pwd`/build/lib -L`pwd`/build/lib64" build/bin/chicken-install nanomsg > nanomsg.done
nanomsg.done : $(CHICKEN_PREFIX)/lib/libnanomsg.so
	CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib -L$(CHICKEN_PREFIX)/lib64" $(CHICKEN_PREFIX)/bin/chicken-install nanomsg > nanomsg.done

iup.done : build/lib/libcallback.a
	CSC_OPTIONS="-I`pwd`/build/include -L`pwd`/build/lib" build/bin/chicken-install -D no-library-checks -feature disable-iup-web -feature disable-iup-pplot -feature disable-iup-matrixex iup > iup.done
iup.done : $(CHICKEN_PREFIX)/lib/libcallback.a
	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 > iup.done

canvas-draw.done :
	CSC_OPTIONS="-I`pwd`/build/include -L`pwd`/build/lib" build/bin/chicken-install -D no-library-checks canvas-draw > canvas-draw.done
	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 :
	CSC_OPTIONS="-I`pwd`/build/include -L`pwd`/build/lib" build/bin/chicken-install sqlite3 > sqlite3.done
	CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib" $(CHICKEN_PREFIX)/bin/chicken-install sqlite3 > sqlite3.done
	
sql-de-lite.done :
	CSC_OPTIONS="-I`pwd`/build/include -L`pwd`/build/lib" build/bin/chicken-install sql-de-lite > sql-de-lite.done
	CSC_OPTIONS="-I$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib" $(CHICKEN_PREFIX)/bin/chicken-install sql-de-lite > sql-de-lite.done

%.done :
	build/bin/chicken-install $* > $*.done
	$(CHICKEN_PREFIX)/bin/chicken-install $* > $*.done

build/eggs-installed/%.done : build/bin/csi $(EGGS)
	build/bin/chicken-install $* > build/eggs-installed/$*.done
	$(CHICKEN_PREFIX)/bin/chicken-install $* > build/eggs-installed/$*.done

#======================================================================
# Attic
#======================================================================

# portlogger-example : portlogger-example.scm api.o archive.o client.o common.o configf.o dashboard-tests.o dashboard-context-menu.o db.o dcommon.o ezsteps.o filedb.o genexample.o gutils.o http-transport.o items.o keys.o launch.o lock-queue.o margs.o megatest-version.o mt.o ods.o portlogger.o process.o rmt.o rpc-transport.o runconfig.o runs.o sdb.o server.o synchash.o tasks.o tdb.o tests.o tree.o
#	csc $(CSCOPTS) portlogger-example.scm api.o archive.o client.o common.o configf.o dashboard-tests.o dashboard-context-menu.o db.o dcommon.o ezsteps.o filedb.o genexample.o gutils.o http-transport.o items.o keys.o launch.o lock-queue.o margs.o megatest-version.o mt.o ods.o portlogger.o process.o rmt.o rpc-transport.o runconfig.o runs.o sdb.o server.o synchash.o tasks.o tdb.o tests.o tree.o