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