Hello everybody,

as David requested, see the attached patch for the current state of my "adjustments" in the Etoile build-scripts to build the environment (llvm, gnustep, dependencies) on Ubuntu 11.10. I switched to "llvm-trunk" and "gnustep-trunk".

At present, Etoile compile breaks at LanguageKitCodeGen with my environment. I will try to investigate that as soon as possible.

Regards,
Uli Pöhlmann

On 10/31/2011 02:39 PM, Ulrich Pöhlmann wrote:
Hello everybody,

I'm fascinated by the visions and goals of the Etoile project.

This is why I fetched the repository (trunk) and started "playing" and trying to get something running a few days ago. I utilized "build.sh" in order to build the environment (llvm, gnustep, dependencies) which is required to compile Etoile-trunk. I'm using Ubuntu 11.10 as host environment and made some "adjustments" in the build-scripts to get things done.

Is anybody interested in the changes I made?

Regards,
Uli Pöhlmann



--
Ulrich Pöhlmann
Karlstraße 25
88045 Friedrichshafen

Mobil: +49 176 20940291

Index: BuildScripts/testbuild.config
===================================================================
--- BuildScripts/testbuild.config	(revision 7347)
+++ BuildScripts/testbuild.config	(working copy)
@@ -12,7 +12,7 @@
 export SVN_ACCESS="svn co http://";
 
 # Make parallel building option: -j<number> or ''
-export J=-j4
+export J=-j2
 
 #
 # Any variables below can be undefined to skip the action it involves (usually 
@@ -56,23 +56,22 @@
 export ETOILE_VERSION=trunk
 
 # LLVM version: a valid version or ''
-#export LLVM_VERSION=2.9
+export LLVM_VERSION=trunk
 # LLVM configure script: llvm-configure-basic.sh or llvm-configure-ubuntu.sh
-export LLVM_CONFIGURE=llvm-configure-basic.sh
+export LLVM_CONFIGURE="$CONFIGURE --enable-optimized"
 
-
 # GNUstep Runtime (aka libobjc2) version: a valid version, 'trunk' or ''
-export RUNTIME_VERSION=1.5
+export RUNTIME_VERSION=trunk
 # GNUstep Make version: a valid version, 'trunk' or ''
-export MAKE_VERSION=2.6.1
+export MAKE_VERSION=trunk
 # GNUstep Base version: a valid version, 'trunk' or ''
-export BASE_VERSION=1.22.0
+export BASE_VERSION=trunk
 # GNUstep Gui version: a valid version, 'trunk' or ''
-export GUI_VERSION=0.20.0
+export GUI_VERSION=trunk
 # GNUstep Back version: a valid version, 'trunk' or ''
-export BACK_VERSION=0.20.1
+export BACK_VERSION=trunk
 # Gorm version: a valid version or ''
-export GORM_VERSION=1.2.10
+export GORM_VERSION=trunk
 
 # LLVM git mirror
 export LLVM_URL_GIT=http://llvm.org/git/llvm.git
Index: BuildScripts/ubuntu-dep-install.sh
===================================================================
--- BuildScripts/ubuntu-dep-install.sh	(revision 7347)
+++ BuildScripts/ubuntu-dep-install.sh	(working copy)
@@ -1,8 +1,24 @@
-# Install Etoile and GNUstep dependencies for Ubuntu 9.04 (copied from INSTALL.Ubuntu)
-# Universe repository needs to be enabled in /etc/apt/sources.list for libonig-dev to show up
+#!/bin/bash
 
-sudo aptitude install gobjc-4.3 libxml2-dev libxslt1-dev libffi-dev libssl-dev libjpeg62-dev libtiff4-dev libpng12-dev libgif-dev libfreetype6-dev libx11-dev libcairo2-dev libxft-dev libxmu-dev dbus libdbus-1-dev hal libstartup-notification0-dev libxcursor-dev libxss-dev xscreensaver g++ libpoppler-dev libonig-dev  lemon libgmp3-dev postgresql libpq-dev libavcodec-dev libavformat-dev libtagc0-dev libmp4v2-dev
+# First of all, we need to determine the ubuntu version we are running on.
+LSB_RELEASE=`lsb_release -r | awk -F':\t' '{ print $2 }'`
 
+if [ "${LSB_RELEASE}" == "9.04" ]; then
+    # Etoile and GNUstep dependencies for Ubuntu 9.04 (copied from 
+    # INSTALL.Ubuntu). Universe repository needs to be enabled in 
+    # "/etc/apt/sources.list" for libonig-dev to show up.
+    DEPS="gobjc-4.3 libxml2-dev libxslt1-dev libffi-dev libssl-dev libjpeg62-dev libtiff4-dev libpng12-dev libgif-dev libfreetype6-dev libx11-dev libcairo2-dev libxft-dev libxmu-dev dbus libdbus-1-dev hal libstartup-notification0-dev libxcursor-dev libxss-dev xscreensaver g++ libpoppler-dev libonig-dev  lemon libgmp3-dev postgresql libpq-dev libavcodec-dev libavformat-dev libtagc0-dev libmp4v2-dev"
+else
+    # Etoile and GNUstep dependencies for Ubuntu > 9.04 (based on content of
+    # INSTALL.Ubuntu). Universe repository needs to be enabled in 
+    # "/etc/apt/sources.list" for libonig-dev to show up.
+    DEPS="libxml2-dev libxslt1-dev libffi-dev libssl-dev libjpeg62-dev libtiff4-dev libpng12-dev libgif-dev libfreetype6-dev libx11-dev libcairo2-dev libxft-dev libxmu-dev dbus libdbus-1-dev hal libstartup-notification0-dev libxcursor-dev libxss-dev xscreensaver g++ libpoppler-dev libonig-dev  lemon libgmp3-dev postgresql libpq-dev libavcodec-dev libavformat-dev libtagc0-dev libmp4v2-dev"
+fi
+
+# Install Etoile and GNUstep dependencies.
+echo "Installing Etoile and GNUstep dependencies for Ubuntu $LSB_RELEASE."
+sudo aptitude install ${DEPS}
+
 # Install Subversion to be able to check out Etoile
-
+echo "Installing subversion to be able to check out Etoile."
 sudo aptitude install subversion
Index: BuildScripts/build.sh
===================================================================
--- BuildScripts/build.sh	(revision 7347)
+++ BuildScripts/build.sh	(working copy)
@@ -117,33 +117,52 @@
 export LOG_NAME=llvm-build
 
 export LLVM_SOURCE_DIR=$BUILD_DIR/llvm-$LLVM_VERSION
-export LLVM_INSTALL_DIR=$PREFIX_DIR/llvm-install-$LLVM_VERSION
+# export LLVM_INSTALL_DIR=$PREFIX_DIR/llvm-install-$LLVM_VERSION
+# I want to have llvm installed under "/usr/local/bin".
+export LLVM_INSTALL_DIR="/usr/local/bin"
 
 if [ "$LLVM_VERSION" = "trunk" ]; then
-	if [ ! -d $LLVM_SOURCE_DIR ] 
-	then
+	if [ ! -d $LLVM_SOURCE_DIR ]; then
 		echo "Fetching LLVM trunk using a GIT mirror at $LLVM_URL_GIT"
 		git clone $LLVM_URL_GIT $LLVM_SOURCE_DIR
 	else
 		echo "Updating LLVM trunk using a GIT mirror at $LLVM_URL_GIT"
-		git pull $LLVM_SOURCE_DIR
+		cd $LLVM_SOURCE_DIR
+        git pull
 	fi
+	if [ ! -d $LLVM_SOURCE_DIR/tools/clang ]; then
+		echo "Fetching CLANG trunk using a GIT mirror at $CLANG_URL_GIT"
+		git clone $CLANG_URL_GIT $LLVM_SOURCE_DIR/tools/clang
+    else
+		echo "Updating CLANG trunk using a GIT mirror at $CLANG_URL_GIT"
+        cd $LLVM_SOURCE_DIR/tools/clang
+        git pull
+    fi
 elif [ -n "$LLVM_VERSION" -a ! -d $LLVM_SOURCE_DIR ]; then
 	echo "Fetching LLVM $LLVM_VERSION from LLVM release server"
-	wget -nc http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.tar.gz
-	tar -xzf llvm-{LLVM_VERSION}.tar.gz
+	wget -nc http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.tgz
+	tar -xzf llvm-${LLVM_VERSION}.tgz
 	echo "Fetching Clang $LLVM_VERSION from LLVM release server"
-	wget -nc  http://llvm.org/releases/${LLVM_VERSION}/clang-${LLVM_VERSION}.tar.gz
-	tar -xzf clang-{LLVM_VERSION}.tar.gz
+	wget -nc  http://llvm.org/releases/${LLVM_VERSION}/clang-${LLVM_VERSION}.tgz
+	tar -xzf clang-${LLVM_VERSION}.tgz
+    # Move clang source code into llvm distribution in order to have it
+    # automatically build along with the llvm build
+    mv clang-${LLVM_VERSION} llvm-${LLVM_VERSION}/tools/clang
 fi
 
-if [ -n "$LLVM_VERSION" ]; then
-
+# Configure and build llvm
+if [ -n "$LLVM_SOURCE_DIR" ]; then
 	cd $LLVM_SOURCE_DIR
-	./${LLVM_CONFIGURE} --prefix=$LLVM_INSTALL_DIR && $MAKE_BUILD && $MAKE_INSTALL
+	${LLVM_CONFIGURE} --prefix=$LLVM_INSTALL_DIR && $MAKE_BUILD && $MAKE_INSTALL
 	cd ..
-	# Put LLVM in the path
+	# Put LLVM in the path. 
 	export PATH=$LLVM_INSTALL_DIR/bin:$PATH
+    # Make Clang the C/ObjC compiler rather than GCC
+    export CC=clang
+    if [ -z "`cat ~/.bashrc | grep CC=clang`" ]; then
+	    echo "CC=clang" >> ~/.bashrc
+    fi
+
 fi
 
 # Download, build and Install GNUstep
Index: BuildScripts/build-gnustep.sh
===================================================================
--- BuildScripts/build-gnustep.sh	(revision 7347)
+++ BuildScripts/build-gnustep.sh	(working copy)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 export LOG_NAME=gnustep-make-build
 
@@ -6,7 +6,7 @@
 echo "Fetching GNUstep Make into $PWD"
 if [ "$MAKE_VERSION" = "trunk" ]; then
 
-	${SVN_ACCESS}svn.gna.org/svn/gnustep/dev-libs/make/${MAKE_VERSION} gnustep-make-${MAKE_VERSION}
+	${SVN_ACCESS}svn.gna.org/svn/gnustep/tools/make/${MAKE_VERSION} gnustep-make-${MAKE_VERSION}
 
 elif [ -n "$MAKE_VERSION" ]; then
 
@@ -22,8 +22,10 @@
 	cd ..
 
 	# Source the GNUstep shell script, and add it to the user's bashrc
-	. ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh
-	echo ". ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh" >> ~/.bashrc
+    . ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh
+    if [ -z "`cat ~/.bashrc | grep ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh`" ]; then
+	    echo ". ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh" >> ~/.bashrc
+    fi
 fi
 echo $PWD
 
@@ -33,7 +35,7 @@
 
 if [ "$RUNTIME_VERSION" = "trunk" ]; then
 
-	${SVN_ACCESS}svn.gna.org/svn/gnustep/dev-libs/libobjc2/${RUNTIME_VERSION} libobjc2-${RUNTIME_VERSION}
+	${SVN_ACCESS}svn.gna.org/svn/gnustep/libs/libobjc2/${RUNTIME_VERSION} libobjc2-${RUNTIME_VERSION}
 
 elif [ -n "$RUNTIME_VERSION" ]; then
 
@@ -56,8 +58,11 @@
 	( $CONFIGURE --prefix=$PREFIX_DIR --with-layout=gnustep --enable-debug-by-default ) && ($MAKE_BUILD) && ($MAKE_INSTALL)
 	cd ..
 
+	# Source the GNUstep shell script, and add it to the user's bashrc
 	. ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh
-	echo ". ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh" >> ~/.bashrc
+    if [ -z "`cat ~/.bashrc | grep ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh`" ]; then
+	    echo ". ${PREFIX_DIR%/}/System/Library/Makefiles/GNUstep.sh" >> ~/.bashrc
+    fi
 
 fi
 
@@ -67,7 +72,7 @@
 
 if [ "$BASE_VERSION" = "trunk" ]; then
 
-	${SVN_ACCESS}svn.gna.org/svn/gnustep/dev-libs/base/${BASE_VERSION} gnustep-base-${BASE_VERSION}
+	${SVN_ACCESS}svn.gna.org/svn/gnustep/libs/base/${BASE_VERSION} gnustep-base-${BASE_VERSION}
 
 
 elif [ -n "$BASE_VERSION" ]; then
@@ -91,7 +96,7 @@
 
 if [ "$GUI_VERSION" = "trunk" ]; then
 
-	${SVN_ACCESS}svn.gna.org/svn/gnustep/dev-libs/gui/${GUI_VERSION} gnustep-gui-${GUI_VERSION}
+	${SVN_ACCESS}svn.gna.org/svn/gnustep/libs/gui/${GUI_VERSION} gnustep-gui-${GUI_VERSION}
 
 
 elif [ -n "$GUI_VERSION" ]; then
@@ -115,12 +120,12 @@
 
 if [ "$BACK_VERSION" = "trunk" ]; then
 
-	${SVN_ACCESS}svn.gna.org/svn/gnustep/dev-libs/back/${BACK_VERSION} gnustep-back-${BACK_VERSION}
+	${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
+	tar -xzf gnustep-back-${BACK_VERSION}.tar.gz
 
 fi
 
@@ -138,7 +143,7 @@
 
 if [ "$GORM_VERSION" = "trunk" ]; then
 
-	echo "WARNING: Installing Gorm from svn trunk is not supported yet"
+    ${SVN_ACCESS}svn.gna.org/svn/gnustep/apps/gorm/${GORM_VERSION} gorm-${GORM_VERSION}
 
 elif [ -n "$GORM_VERSION" ]; then
 
_______________________________________________
Etoile-dev mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-dev

Reply via email to