Commits

Ivan Vučica committed e3cce18

-fobjc-runtime=gnustep-1.7. WITH_CLEAN. GNUSTEP_INSTALLATION_DOMAIN=SYSTEM. libopenssl-dev => libssl-dev.

  • Participants
  • Parent commits b93f175

Comments (0)

Files changed (10)

 
 Written by Ivan Vucica based on Etoile's `INSTALL` file.
 
+Other options
+-------------
+
+To skip checkout, use
+
+    export WITHOUT_CHECKOUT=1
+
+To perform distclean, use
+
+    export WITH_CLEAN=1
+
 Additional requirements
 -----------------------
 

File phases/00-ubuntu-deps.sh

 echo "Installing dependencies"
 echo "======================="
 
-sudo apt-get install subversion g++ libffi-dev libxml2-dev libicu-dev libgmp3-dev libjpeg-dev libtiff-dev libpng-dev libcairo-dev libxt-dev libopenssl-dev libxslt-dev libgl1-mesa-dev libglu1-mesa-dev
+sudo apt-get install subversion g++ libffi-dev libxml2-dev libicu-dev libgmp3-dev libjpeg-dev libtiff-dev libpng-dev libcairo-dev libxt-dev libssl-dev libxslt-dev libgl1-mesa-dev libglu1-mesa-dev
 
 # The following shouldn't be necessary, according to
 # gnustep-base docs, but currently, it nonetheless is 

File phases/10-build-llvm.sh

 	echo "Building trunk LLVM and Clang skipped! Set WITH_TRUNK_LLVM=1 to build them."
 fi
 
+####################
+
+if echo "int main() {}" | clang -fobjc-runtime=gnustep-1.7 -x objective-c - -o /dev/null ; then
+	export CFLAGS="$CFLAGS -fobjc-runtime=gnustep-1.7"
+else
+	echo "-fobjc-runtime=gnustep-1.7 not supported; skipping"
+fi
+

File phases/15-build-libobjc2.sh

 echo "Building libobjc2"
 echo "================="
 cd gnustep/dev-libs/libobjc2
-if [[ -e CMakeCache.txt || -e Build/ ]]; then
+if [[ $WITH_CLEAN -ne 1 && ( -e CMakeCache.txt || -e Build/ ) ]]; then
 	echo "libobjc2 seems already built; remove `pwd`/Build/ and CMakeCache.txt to force rebuild"
 	echo "  rm -rf \"`pwd`\"/Build/"
 	echo "  rm -rf \"`pwd`\"/CMakeCache.txt"
 
 else
+	if [ $WITH_CLEAN -eq 1 ] ; then
+		rm -rf Build
+	fi
 	mkdir Build/
 	cd Build
 	if cmake -DCMAKE_INSTALL_PREFIX=/GNUstep .. ; then

File phases/25-build-gnustep-base.sh

 else
 	# - Build and Install GNUstep Base:
 	cd gnustep/core/base
+
+	if [ "$WITH_CLEAN" -eq 1 ] ; then
+		make distclean
+	fi
+
 	# For Linux e.g. Ubuntu, --with-ffi-include is usually required
 	if ./configure \
 		--with-ffi-include=/usr/include/`gcc -dumpmachine` \
 		exit 1
 	fi
 
-	if make -j 3 && sudo -E make install ; then
+	if make -j 3 && sudo -E make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install ; then
 		echo "Installed GNUstep Base"
 	else
 		echo "Failed to build of install GNUstep Base"

File phases/30-build-gnustep-gui.sh

 	echo "Skipping; looks like GNUstep GUI is already installed"
 else
 	cd gnustep/core/gui/
-	if ./configure && make -j 3 && sudo -E make install ; then
+
+	if [ "$WITH_CLEAN" -eq 1 ] ; then
+		make distclean
+	fi
+
+	if ./configure && make -j 3 && sudo -E make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install ; then
 		echo "Ok"
 	else
 		echo "Failed to configure, build or install GNUstep GUI"

File phases/35-build-gnustep-back.sh

 	echo "Skipping; looks like GNUstep Back is already installed"
 else
 	cd gnustep/core/back/
-	if ./configure --enable-graphics=cairo && make -j 3 && sudo -E make install ; then
+
+	if [ "$WITH_CLEAN" -eq 1 ] ; then
+		make distclean
+	fi
+
+	if ./configure --enable-graphics=cairo && make -j 3 && sudo -E make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install ; then
 		echo "Ok"
 	else
 		echo "Failed to build GNUstep Back"

File phases/40-build-gnustep-corebase.sh

 	echo "Skipping; looks like GNUstep CoreBase is already installed"
 else
 	cd gnustep/dev-libs/corebase/
-	if ./configure && make -j 3 && sudo -E make install ; then
+
+	if [ "$WITH_CLEAN" -eq 1 ] ; then
+		make distclean
+	fi
+
+	if ./configure && make -j 3 && sudo -E make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install ; then
 		echo Ok
 	else
 		echo "Failed to build GNUstep CoreBase"

File phases/46-build-gnustep-opal.sh

 	echo "Skipping; looks like GNUstep Opal is already installed"
 else
 	cd gnustep/dev-libs/opal/
-	if make -j 3 && sudo -E make install ; then
+	if [ "$WITH_CLEAN" -eq 1 ] ; then
+		make distclean
+	fi
+	if make -j 3 && sudo -E make GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install ; then
 		echo Ok
 	else
 		echo "Failed to build GNUstep Opal"

File phases/50-build-gnustep-quartzcore.sh

 	echo "Skipping; looks like GNUstep QuartzCore is already installed"
 else
 	cd gnustep/dev-libs/quartzcore/
+
+	if [ "$WITH_CLEAN" -eq 1 ] ; then
+		make clean
+	fi
+
 	if make -j 3 && sudo -E make install ; then
 		echo Ok
 	else