-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild-gnustep.sh
executable file
·201 lines (127 loc) · 4.88 KB
/
build-gnustep.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
#!/bin/sh
LOG_NAME=gnustep-make-build
# Download, build and install GNUstep Make
echo "Fetching GNUstep Make into $PWD"
if [ "$MAKE_VERSION" = "trunk" ]; then
${SVN_ACCESS}svn.gna.org/svn/gnustep/tools/make/${MAKE_VERSION} gnustep-make-${MAKE_VERSION}
elif [ -n "$MAKE_VERSION" ]; then
wget -nc ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-${MAKE_VERSION}.tar.gz
tar -xzf gnustep-make-${MAKE_VERSION}.tar.gz
fi
if [ -n "$MAKE_VERSION" ]; then
echo "Building & Installing GNUstep Make"
cd gnustep-make-${MAKE_VERSION}
($DUMP_ENV) && ( $CONFIGURE --prefix=$PREFIX_DIR --with-layout=gnustep --enable-debug-by-default --enable-objc-nonfragile-abi ) && ($MAKE_BUILD) && ($MAKE_INSTALL)
STATUS=$?
cd ..
if [ $STATUS -ne 0 ]; then exit 1; fi
# Source the GNUstep shell script, and add it to the user's bashrc
echo "Sourcing GNUstep.sh"
export GNUSTEP_CONFIG_FILE=${PREFIX_DIR%/}/etc/GNUstep/GNUstep.conf
. ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh
fi
echo
# Download, build and install libobjc2 (aka GNUstep runtime)
LOG_NAME=gnustep-libobjc2-build
echo "Fetching libobjc2 into $PWD"
if [ "$RUNTIME_VERSION" = "trunk" ]; then
${SVN_ACCESS}svn.gna.org/svn/gnustep/libs/libobjc2/${RUNTIME_VERSION} libobjc2-${RUNTIME_VERSION}
elif [ -n "$RUNTIME_VERSION" ]; then
wget -nc http://download.gna.org/gnustep/libobjc2-${RUNTIME_VERSION}.tgz
tar -xzf libobjc2-${RUNTIME_VERSION}.tgz
fi
if [ -n "$RUNTIME_VERSION" ]; then
echo "Building & Installing libobjc2"
cd libobjc2-${RUNTIME_VERSION}
rm -rf Build && mkdir Build
cd Build
INSTALL_TARGET="install/strip"
($DUMP_ENV) && ( eval cmake -DCMAKE_CXX_COMPILER=clang++ -DTESTS=FALSE .. $LOG_RULE_TEMPLATE ) && ($MAKE_BUILD) && ($MAKE_INSTALL)
STATUS=$?
INSTALL_TARGET="install"
cd ../..
if [ $STATUS -ne 0 ]; then exit 2; fi
# Reinstall GNUstep Make to get it detect the libobjc2 just installed
export LOG_NAME=gnustep-make-build-2
echo "Building & Installing GNUstep Make (second pass)"
cd gnustep-make-${MAKE_VERSION}
( $CONFIGURE --prefix=$PREFIX_DIR --with-layout=gnustep --enable-debug-by-default --enable-objc-nonfragile-abi ) && ($MAKE_BUILD) && ($MAKE_INSTALL)
STATUS=$?
cd ..
if [ $STATUS -ne 0 ]; then exit 3; fi
echo "Sourcing GNUstep.sh"
export GNUSTEP_CONFIG_FILE=${PREFIX_DIR%/}/etc/GNUstep/GNUstep.conf
. ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh
fi
echo
# Download, build and install GNUstep Base
LOG_NAME=gnustep-base-build
echo "Fetching GNUstep Base into $PWD"
if [ "$BASE_VERSION" = "trunk" ]; then
${SVN_ACCESS}svn.gna.org/svn/gnustep/libs/base/${BASE_VERSION} gnustep-base-${BASE_VERSION}
elif [ -n "$BASE_VERSION" ]; then
wget -nc ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-${BASE_VERSION}.tar.gz
tar -xzf gnustep-base-${BASE_VERSION}.tar.gz
fi
if [ -n "$BASE_VERSION" ]; then
echo "Building & Installing GNUstep Base"
cd gnustep-base-${BASE_VERSION}
($DUMP_ENV) && ($MAKE_CLEAN) && ($CONFIGURE --disable-mixedabi) && ($MAKE_BUILD) && ($MAKE_INSTALL)
STATUS=$?
cd ..
if [ $STATUS -ne 0 ]; then exit 4; fi
fi
echo
# Download, build and install GNUstep Gui
LOG_NAME=gnustep-gui-build
echo "Fetching GNUstep GUI into $PWD"
if [ "$GUI_VERSION" = "trunk" ]; then
${SVN_ACCESS}svn.gna.org/svn/gnustep/libs/gui/${GUI_VERSION} gnustep-gui-${GUI_VERSION}
elif [ -n "$GUI_VERSION" ]; then
wget -nc ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-${GUI_VERSION}.tar.gz
tar -xzf gnustep-gui-${GUI_VERSION}.tar.gz
fi
if [ -n "$GUI_VERSION" ]; then
echo "Building & Installing GNUstep Gui"
cd gnustep-gui-${GUI_VERSION}
($MAKE_CLEAN) && ($CONFIGURE) && ($MAKE_BUILD) && ($MAKE_INSTALL)
STATUS=$?
cd ..
if [ $STATUS -ne 0 ]; then exit 5; fi
fi
echo
# Download, build and install GNUstep Back
LOG_NAME=gnustep-back-build
echo "Fetching GNUstep Back into $PWD"
if [ "$BACK_VERSION" = "trunk" ]; then
${SVN_ACCESS}svn.gna.org/svn/gnustep/libs/back/${BACK_VERSION} gnustep-back-${BACK_VERSION}
elif [ -n "$BACK_VERSION" ]; then
wget -nc ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-${BACK_VERSION}.tar.gz
tar -xzf gnustep-back-${GUI_VERSION}.tar.gz
fi
if [ -n "$BACK_VERSION" ]; then
echo "Building & Installing GNUstep Back"
cd gnustep-back-${BACK_VERSION}
($MAKE_CLEAN) && ( $CONFIGURE ) && ($MAKE_BUILD) && ($MAKE_INSTALL)
STATUS=$?
cd ..
if [ $STATUS -ne 0 ]; then exit 6; fi
fi
echo
# Download, build and install Gorm
LOG_NAME=gnustep-gorm-build
echo "Fetching GNUstep Gorm into $PWD"
if [ "$GORM_VERSION" = "trunk" ]; then
${SVN_ACCESS}svn.gna.org/svn/gnustep/apps/gorm/${GORM_VERSION} gorm-${GORM_VERSION}
elif [ -n "$GORM_VERSION" ]; then
wget -nc ftp://ftp.gnustep.org/pub/gnustep/dev-apps/gorm-${GORM_VERSION}.tar.gz
tar -xzf gorm-${GORM_VERSION}.tar.gz
fi
if [ -n "$GORM_VERSION" ]; then
echo "Building & Installing Gorm"
cd gorm-${GORM_VERSION}
($MAKE_CLEAN) && ($MAKE_BUILD) && ($MAKE_INSTALL)
STATUS=$?
cd ..
if [ $STATUS -ne 0 ]; then exit 7; fi
fi