17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# along with Megatest. If not, see <http://www.gnu.org/licenses/>.
#======================================================================
# Chicken build
#======================================================================
tgz-$(USER)/postgresql-9.6.4.tar.gz :
mkdir -p tgz-$(USER)
wget -c https://ftp.postgresql.org/pub/source/v9.6.4/postgresql-9.6.4.tar.gz
mv postgresql-9.6.4.tar.gz tgz-$(USER)/
tgz-$(USER)/sqlite-autoconf-3090200.tar.gz :
mkdir -p tgz-$(USER)
|
>
>
>
>
>
>
>
>
>
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# along with Megatest. If not, see <http://www.gnu.org/licenses/>.
#======================================================================
# Chicken build
#======================================================================
# CHICKEN_BIN_DIR=$(shell dirname $(shell which csi))
# if have csi on path use that, else use default
# CSIPATH=$(shell which csi)
# CKPATH=$(shell dirname $(shell dirname $(CSIPATH)))
# CHICKEN_PREFIX=$(or $(CKPATH),$(PREFIX)/bin/.$(ARCHSTR))
whatever :
@echo "CHICKEN_PREFIX=$(CHICKEN_PREFIX)"
tgz-$(USER)/postgresql-9.6.4.tar.gz :
mkdir -p tgz-$(USER)
wget -c https://ftp.postgresql.org/pub/source/v9.6.4/postgresql-9.6.4.tar.gz
mv postgresql-9.6.4.tar.gz tgz-$(USER)/
tgz-$(USER)/sqlite-autoconf-3090200.tar.gz :
mkdir -p tgz-$(USER)
|
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
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)/
tar xfz tgz-$(USER)/postgresql-9.6.4.tar.gz -C build-$(USER)
cd build-$(USER)/postgresql-9.6.4; ./configure --prefix=$(CHICKEN_PREFIX) --with-openssl; make; make install
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
$(CHICKEN_PREFIX)/lib/libnanomsg.so : 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
mkdir -p build-$(USER)/eggs-installed
cd build-$(USER);tar xf ../tgz-$(USER)/chicken-4.13.0.tar.gz
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
$(CHICKEN_PREFIX)/lib/libiupweb.so : tgz-$(USER)/opensrc.fossil
cd tgz-$(USER)/opensrc; fossil unversioned cat libs/cd/cd-5.10_Linux26g4_64_lib.tar.gz > ../cd.tgz
cd tgz-$(USER)/opensrc; fossil unversioned cat libs/im/im-3.11_Linux26g4_64_lib.tar.gz > ../im.tgz
cd tgz-$(USER)/opensrc; fossil unversioned cat libs/iup/iup-3.19.1_Linux26g4_64_lib.tar.gz > ../iup.tgz
cd tgz-$(USER); tar -xzf cd.tgz;
cd tgz-$(USER); tar -xzf im.tgz;
cd tgz-$(USER); tar -xzf iup.tgz;
cp tgz-$(USER)/include/* $(CHICKEN_PREFIX)/include/
cp tgz-$(USER)/*.so $(CHICKEN_PREFIX)/lib/
cp tgz-$(USER)/*.a $(CHICKEN_PREFIX)/lib/
cp tgz-$(USER)/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 postgresql nanomsg
EGGSTARG=$(addsuffix .done,$(addprefix build-$(USER)/eggs-installed/,$(EGGS)))
EGGSTARG2=$(addsuffix .done, $(EGGS))
$(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 : $(CHICKEN_PREFIX)/bin/sqlite3 $(CHICKEN_PREFIX)/lib/libiupweb.so $(CHICKEN_PREFIX)/chicken-4.13.0/LICENSE
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
# CHICKEN_BIN_DIR=$(shell dirname $(shell which csi))
CKBIN_WRAPPERS=$(addprefix $(PREFIX)/bin/,$(ALL_CKBIN))
$(PREFIX)/bin/% : $(CHICKEN_PREFIX)/bin/% $(CHICKEN_PREFIX)/bin/csi $(EGGSTARG2)
utils/mk_wrapper_tool $(PREFIX) $* $(PREFIX)/bin/$*
chmod a+x $(PREFIX)/bin/$*
$(PREFIX)/bin :
mkdir -p $(PREFIX)/bin
chicken : $(PREFIX)/bin $(CHICKEN_PREFIX)/bin/csi binwrappers
@echo "Fake target to build prefix chicken"
binwrappers : $(CKBIN_WRAPPERS)
postgresql.done : $(CHICKEN_PREFIX)/bin/pg_config
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
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
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
%.done :
$(CHICKEN_PREFIX)/bin/chicken-install $* > $*.done
build-$(USER)/eggs-installed/%.done : $(CHICKEN_PREFIX)/bin/csi $(EGGS)
$(CHICKEN_PREFIX)/bin/chicken-install $* > build-$(USER)/eggs-installed/$*.done
|
>
>
|
|
|
|
|
|
|
>
|
<
|
>
>
>
>
>
>
>
>
>
>
|
|
|
|
>
>
|
|
|
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
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)/
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
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
$(CHICKEN_PREFIX)/lib/libnanomsg.so : 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
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
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
$(CHICKEN_PREFIX)/lib/libiupweb.so : tgz-$(USER)/opensrc.fossil
cd tgz-$(USER)/opensrc; fossil unversioned cat libs/cd/cd-$(CDVER)_Linux$(IUPARCH)_64_lib.tar.gz > ../cd.tgz
cd tgz-$(USER)/opensrc; fossil unversioned cat libs/im/im-$(IMVER)_Linux$(IUPARCH)_64_lib.tar.gz > ../im.tgz
cd tgz-$(USER)/opensrc; fossil unversioned cat libs/iup/iup-$(IUPVER)_Linux$(IUPARCH)_64_lib.tar.gz > ../iup.tgz
cd tgz-$(USER); tar -xzf cd.tgz;
cd tgz-$(USER); tar -xzf im.tgz;
cd tgz-$(USER); tar -xzf iup.tgz;
rsync -av tgz-$(USER)/include/ $(CHICKEN_PREFIX)/include/
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 \
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
EGGSTARG=$(addsuffix .done,$(addprefix build-$(USER)/eggs-installed/,$(EGGS)))
EGGSTARG2=$(addsuffix .done, $(EGGS))
$(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
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
CKBIN_WRAPPERS=$(addprefix $(PREFIX)/bin/,$(ALL_CKBIN))
$(PREFIX)/bin/% : $(CHICKEN_PREFIX)/bin/% $(CHICKEN_PREFIX)/bin/csi $(EGGSTARG2)
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
@echo "Fake target to build prefix chicken"
binwrappers : $(CKBIN_WRAPPERS)
# Turn on postgres if configure did not find the library
ifeq ($(BUILD_POSTGRES),yes)
POSTGRES_DEPS=$(CHICKEN_PREFIX)/bin/pg_config
endif
# 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)
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
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
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 :
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)
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
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/csi $(EGGS)
$(CHICKEN_PREFIX)/bin/chicken-install $* > build-$(USER)/eggs-installed/$*.done
build-clean :
rm -rf build-$(USER) bin
|