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
#     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)

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		\







>







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
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
	mkdir -p build;
	cd build; tar xf ../tgz/sqlite-autoconf-3090200.tar.gz

build/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; make; make install

build/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
	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/

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
	cd tgz; tar -xzvf ffcall.tar.gz 
	cd tgz/ffcall; ./configure --prefix=`pwd`/../../build --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

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




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

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

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

sqlite3.done :
	CSC_OPTIONS="-I`pwd`/build/include -L`pwd`/build/lib" build/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

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

build/eggs-installed/%.done : build/bin/csi $(EGGS)
	build/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







|



|


|


|








|






|
|
|
|










|

|


|
|

|
|
|

>
>
>
|
|

|
|


|


|


|


|


|







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'

$(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

$(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=$(CHICKEN_PREFIX)
	cd tgz/nanomsg-1.0.0/build; make; make install

$(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

$(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/* $(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))

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

$(CHICKEN_PREFIX)/bin/sqlite3 : build/sqlite-autoconf-3090200/configure 
	cd build/sqlite-autoconf-3090200; ./configure --prefix=$(CHICKEN_PREFIX); make; make 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 : $(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 : $(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$(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$(CHICKEN_PREFIX)/include -L$(CHICKEN_PREFIX)/lib" $(CHICKEN_PREFIX)/bin/chicken-install sqlite3 > sqlite3.done
	
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 :
	$(CHICKEN_PREFIX)/bin/chicken-install $* > $*.done

build/eggs-installed/%.done : build/bin/csi $(EGGS)
	$(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