#!/bin/bash
BUILD_DIRECTORY=~/Build_GNUstep


export CC=clang
export CXX=clang++

echo $CC
echo $CXX
clang -v
clang++ -v

cd $BUILD_DIRECTORY/core/make
./configure --enable-debug-by-default --with-layout=gnustep --enable-objc-nonfragile-abi --enable-objc-arc
make && sudo -E make install
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
echo ". /usr/GNUstep/System/Library/Makefiles/GNUstep.sh" >> ~/.bashrc

# Installing libdispatch in /usr because gnustep-base fails to compile #if it is in /usr/local : the argument -ldispatch isn't recognized by #linker. I don't know how to correct this.
cd $BUILD_DIRECTORY/libdispatch
rm -rf libdispatch-build
mkdir libdispatch-build && cd libdispatch-build
../configure --prefix=/usr
make
sudo make install
sudo ldconfig

# libobjc is installed in /usr/GNUstep/Local. I'd prefed to have it in /usr/GNUstep/System as I do for base, gui and core. How to do this ?
cd $BUILD_DIRECTORY/libobjc2
rm -rf build
mkdir build
cd build
cmake ..
make -j2
sudo -E make install

export LDFLAGS=-ldispatch

OBJCFLAGS="-fblocks -fobjc-runtime=gnustep-1.8.1"

cd $BUILD_DIRECTORY/core/make
./configure --enable-debug-by-default --with-layout=gnustep --enable-objc-nonfragile-abi --enable-objc-arc
make && sudo -E make install

. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh

sudo /sbin/ldconfig

cd $BUILD_DIRECTORY/core/base/
./configure
make -j2
sudo -E make install GNUSTEP_INSTALLATION_DOMAIN=SYSTEM



cd $BUILD_DIRECTORY/core/gui
./configure
make -j2
sudo -E make install GNUSTEP_INSTALLATION_DOMAIN=SYSTEM

cd $BUILD_DIRECTORY/core/back
./configure
make -j2
sudo -E make install GNUSTEP_INSTALLATION_DOMAIN=SYSTEM

