diff --git a/.travis.yml b/.travis.yml index f4b2cd62..00e4b840 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,4 @@ language: cpp -compiler: - - g++ - - clang sudo: false env: @@ -9,7 +6,10 @@ env: - JIT_OPTS='' TARGET_OPTS='target.py' matrix: - fast_finish: true + fast_finish: true + +install: + - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi script: - make PYTHON=python build @@ -19,12 +19,16 @@ script: addons: apt: + sources: + - ubuntu-toolchain-r-test packages: - - libffi-dev - - libedit-dev - - libboost-all-dev - - zlib1g-dev - - zlib-bin + - libffi-dev + - libedit-dev + - libboost-all-dev + - zlib1g-dev + - zlib-bin + - gcc-4.8 + - g++-4.8 notifications: irc: "chat.freenode.net#pixie-lang" diff --git a/Makefile b/Makefile index 358f5022..c660fe0b 100644 --- a/Makefile +++ b/Makefile @@ -18,17 +18,17 @@ help: @echo "make build_no_jit - build without jit" @echo "make fetch_externals - download and unpack external deps" -build_with_jit: fetch_externals +build_with_jit: fetch_externals re2_cre2 @if [ ! -d /usr/local/include/boost -a ! -d /usr/include/boost ] ; then echo "Boost C++ Library not found" && false; fi && \ $(PYTHON) $(EXTERNALS)/pypy/rpython/bin/rpython $(COMMON_BUILD_OPTS) --opt=jit target.py && \ make compile_basics -build_no_jit: fetch_externals +build_no_jit: fetch_externals re2_cre2 @if [ ! -d /usr/local/include/boost -a ! -d /usr/include/boost ] ; then echo "Boost C++ Library not found" && false; fi && \ $(PYTHON) $(EXTERNALS)/pypy/rpython/bin/rpython $(COMMON_BUILD_OPTS) target.py && \ make compile_basics -build_no_jit_shared: fetch_externals +build_no_jit_shared: fetch_externals re2_cre2 @if [ ! -d /usr/local/include/boost -a ! -d /usr/include/boost ] ; then echo "Boost C++ Library not found" && false; fi && \ $(PYTHON) $(EXTERNALS)/pypy/rpython/bin/rpython $(COMMON_BUILD_OPTS) --shared target.py && \ make compile_basics @@ -36,7 +36,7 @@ build_no_jit_shared: fetch_externals compile_basics: @echo -e "\n\n\n\nWARNING: Compiling core libs. If you want to modify one of these files delete the .pxic files first\n\n\n\n" - ./pixie-vm -c pixie/uv.pxi -c pixie/io.pxi -c pixie/stacklets.pxi -c pixie/stdlib.pxi -c pixie/repl.pxi + ./pixie-vm -c pixie/uv.pxi -c pixie/io.pxi -c pixie/stacklets.pxi -c pixie/stdlib.pxi -c pixie/repl.pxi -c pixie/re.pxi build: fetch_externals re2_cre2 $(PYTHON) $(EXTERNALS)/pypy/rpython/bin/rpython $(COMMON_BUILD_OPTS) $(JIT_OPTS) $(TARGET_OPTS) @@ -65,10 +65,8 @@ $(EXTERNALS)/re2: $(EXTERNALS) shasum -a 256 re2.tar.gz | grep -q f246c43897ac341568a7460622138ec0dd8de9b6f5459686376fa23e9d8c1bb8 && \ mkdir -p re2 && \ cd re2 && \ - tar -zxf ../re2.tar.gz --strip-components=1 - -$(EXTERNALS)/re2/obj/libre2.a: $(EXTERNALS)/re2 - cd $(EXTERNALS)/re2 && make + tar -zxf ../re2.tar.gz --strip-components=1 && \ + make $(EXTERNALS)/cre2: $(EXTERNALS) cd $(EXTERNALS) && \ @@ -76,19 +74,16 @@ $(EXTERNALS)/cre2: $(EXTERNALS) shasum -a 256 cre2.tar.xz | grep -q d31118dbc9d2b1cf95c1b763ca92ae2ec4e262b1f8d8e995c1ffdc8eb40a82fc && \ mkdir -p cre2 && \ cd cre2 && \ - tar -Jxf ../cre2.tar.xz --strip-components=1 - -$(EXTERNALS)/cre2/build/.libs/libcre2.a: $(EXTERNALS)/cre2 - cd $(EXTERNALS)/cre2 && \ + tar -Jxf ../cre2.tar.xz --strip-components=1 && \ mkdir -p build && \ cd build && \ ../configure LDFLAGS="-L`pwd`/../../re2/obj" CPPFLAGS="-I`pwd`/../../re2" && \ chmod +x ../meta/autotools/install-sh && \ make -re2: $(EXTERNALS)/re2/obj/libre2.a +re2: $(EXTERNALS)/re2 -cre2: $(EXTERNALS)/cre2/build/.libs/libcre2.a +cre2: $(EXTERNALS)/cre2 re2_cre2: re2 cre2