Difference between revisions of "GNUstep under Ubuntu Linux"
Jump to navigation
Jump to search
(Updated for CMake) |
|||
| Line 1: | Line 1: | ||
<pre> | <pre> | ||
| − | + | # Objective C 2.0 installation | |
| − | # Objective C 2.0 | + | # On fresh install of Ubuntu 12.10 Server |
| − | # | + | # Patryk Laurent (http://pakl.net/) |
| − | + | # Dec 27, 2012 | |
| − | |||
| − | |||
| − | |||
| − | # | ||
| − | # | ||
| − | |||
| − | |||
| − | + | sudo aptitude install build-essential git subversion ninja cmake | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm | |
| − | # | + | cd llvm/tools |
| − | + | svn co http://llvm.org/svn/llvm-project/cfe/trunk clang | |
| + | cd .. # Back to llvm directory | ||
| + | ./configure --enable-optimized | ||
| + | make -j4 # Go off to prepare cup of coffee here. | ||
| − | + | export PATH=$PATH:~/llvm/Release+Asserts/bin # Add to .bashrc | |
| + | export CC=clang # Add to .bashrc | ||
| + | clang -v | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
svn co http://svn.gna.org/svn/gnustep/modules/core | svn co http://svn.gna.org/svn/gnustep/modules/core | ||
| − | svn co | + | svn co http://svn.gna.org/svn/gnustep/libs/libobjc2/trunk libobjc2 |
| − | + | cd core/make | |
| − | + | ./configure --enable-debug-by-default --with-layout=gnustep | |
| − | |||
| − | |||
| − | |||
| − | cd | ||
| − | |||
| − | |||
| − | ./configure --enable-debug-by-default --with-layout= | ||
make && sudo -E make install | make && sudo -E make install | ||
| − | . /usr/ | + | . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh # Add to .bashrc |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | # | ||
| − | |||
| − | |||
| − | |||
| − | |||
| + | sudo aptitude install gobjc # Otherwise we get "cc1obj not found | ||
| + | cd ../../libobjc2 | ||
| + | mkdir build | ||
| + | cd build | ||
| + | cmake .. | ||
| + | make | ||
| + | sudo -E make install | ||
| − | + | cat > blocktest.m << EOF | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | cat > | ||
| − | |||
#include <stdio.h> | #include <stdio.h> | ||
int main() { | int main() { | ||
| − | + | void (^hello)(void) = ^(void) { | |
| − | + | printf("Hello, block!\n"); | |
| − | + | }; | |
| − | + | hello(); | |
| − | + | return 0; | |
| − | |||
| − | |||
| − | |||
| − | |||
} | } | ||
| − | |||
EOF | EOF | ||
| − | + | clang `gnustep-config --objc-flags` `gnustep-config --objc-libs` -fobj-arc -fobjc-nonfragile-abi -fblocks -lobjc blocktest.m | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | clang `gnustep-config --objc-flags` `gnustep-config --objc-libs` -fobj-arc -fobjc-nonfragile-abi -fblocks | ||
| − | . | ||
| − | |||
</pre> | </pre> | ||
Revision as of 18:12, 27 December 2012
# Objective C 2.0 installation
# On fresh install of Ubuntu 12.10 Server
# Patryk Laurent (http://pakl.net/)
# Dec 27, 2012
sudo aptitude install build-essential git subversion ninja cmake
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd .. # Back to llvm directory
./configure --enable-optimized
make -j4 # Go off to prepare cup of coffee here.
export PATH=$PATH:~/llvm/Release+Asserts/bin # Add to .bashrc
export CC=clang # Add to .bashrc
clang -v
svn co http://svn.gna.org/svn/gnustep/modules/core
svn co http://svn.gna.org/svn/gnustep/libs/libobjc2/trunk libobjc2
cd core/make
./configure --enable-debug-by-default --with-layout=gnustep
make && sudo -E make install
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh # Add to .bashrc
sudo aptitude install gobjc # Otherwise we get "cc1obj not found
cd ../../libobjc2
mkdir build
cd build
cmake ..
make
sudo -E make install
cat > blocktest.m << EOF
#include <stdio.h>
int main() {
void (^hello)(void) = ^(void) {
printf("Hello, block!\n");
};
hello();
return 0;
}
EOF
clang `gnustep-config --objc-flags` `gnustep-config --objc-libs` -fobj-arc -fobjc-nonfragile-abi -fblocks -lobjc blocktest.m