Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
Keno committed Aug 12, 2014
1 parent a053b3e commit 297f8ac
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 12 deletions.
7 changes: 6 additions & 1 deletion Make.inc
Original file line number Diff line number Diff line change
Expand Up @@ -698,8 +698,13 @@ endif
# Custom libcxx
ifeq ($(BUILD_CUSTOM_LIBCXX),1)
LDFLAGS += -L$(build_libdir) -lc++abi
CXXLDFLAGS += -L$(build_libdir) -lc++abi -stdlib=libc++
CXXLDFLAGS += -L$(build_libdir) -lc++abi -stdlib=libc++ -lc++
CPPFLAGS += -I$(build_includedir)/c++/v1
ifeq ($(USEICC),1)
CXXFLAGS += -cxxlib-nostd -static-intel
CLDFLAGS += -static-intel
LDFLAGS += -cxxlib-nostd -static-intel
endif
endif

# Make tricks
Expand Down
22 changes: 13 additions & 9 deletions deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,9 @@ LLVM_MFLAGS += $(LLVM_CC)

ifeq ($(BUILD_CUSTOM_LIBCXX),1)
LLVM_LDFLAGS += -Wl,-R$(build_libdir)
ifeq ($(USEICC),1)
LLVM_LDFLAGS += -no_cpprt -lc++ -lc++abi
endif
endif

LLVM_FLAGS += CPPFLAGS="$(CPPFLAGS) $(LLVM_CPPFLAGS)" LDFLAGS="$(LLVM_LDFLAGS)"
Expand Down Expand Up @@ -339,25 +342,25 @@ libcxx-build:
mkdir -p libcxx-build
libcxx-build/Makefile: llvm-$(LLVM_VER)/projects/libcxx llvm-$(LLVM_VER)/projects/libcxxabi libcxx-build
cd libcxx-build && \
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix) -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_LIBCXXABI_INCLUDE_PATHS="../llvm-$(LLVM_VER)/projects/libcxxabi/include" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$(build_prefix) ../llvm-$(LLVM_VER)/projects/libcxx -DCMAKE_C_COMPILER="$(CC)" -DCMAKE_CXX_COMPILER="$(CXX)" -DCMAKE_SHARED_LINKER_FLAGS="-L$(build_libdir)"
$(build_libdir)/libc++abi.so: llvm-$(LLVM_VER)/projects/libcxxabi
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix) -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_LIBCXXABI_INCLUDE_PATHS="../llvm-$(LLVM_VER)/projects/libcxxabi/include" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$(build_prefix) ../llvm-$(LLVM_VER)/projects/libcxx -DCMAKE_C_COMPILER="$(CC)" -DCMAKE_CXX_COMPILER="$(CXX)" -DCMAKE_SHARED_LINKER_FLAGS="-L$(build_libdir) -Bstatic -lirc -Bdynamic" -DCMAKE_CXX_FLAGS="$(CXXFLAGS)"
$(build_libdir)/libc++abi.so.1.0: llvm-$(LLVM_VER)/projects/libcxxabi
cd llvm-$(LLVM_VER)/projects/libcxxabi/lib && \
OPTIONS=-I../../libcxx/include ./buildit
OPTIONS="-I../../libcxx/include $(CXXFLAGS) $(LDFLAGS)" CC="$(CC) -static-intel" EXTRA_LIBS="-Bstatic -lirc" CXX=$(CXX) ./buildit
cp llvm-$(LLVM_VER)/projects/libcxxabi/lib/libc++abi.so.1.0 $(build_libdir)
ln -s $(build_libdir)/libc++abi.so.1.0 $(build_libdir)/libc++abi.so
ln -s $(build_libdir)/libc++abi.so.1.0 $(build_libdir)/libc++abi.so.1
install-libcxxabi: $(build_libdir)/libc++abi.so
libcxx-build/lib/libc++.so: install-libcxxabi
libcxx-build/lib/libc++.so.1.0: $(build_libdir)/libc++abi.so libcxx-build/Makefile
cd libcxx-build && $(MAKE)
$(build_libdir)/libc++.so: libcxx-build/lib/libc++.so
$(build_libdir)/libc++.so.1.0: libcxx-build/lib/libc++.so.1.0
cd libcxx-build && $(MAKE) install
install-libcxx: $(build_libdir)/libc++.so
install-libcxx: $(build_libdir)/libc++.so.1.0
get-libcxx: llvm-$(LLVM_VER)/projects/libcxx
get-libcxxabi: llvm-$(LLVM_VER)/projects/libcxxabi
endif

ifeq ($(BUILD_CUSTOM_LIBCXX),1)
LIBCXX_DEPENDENCY = install-libcxx
LIBCXX_DEPENDENCY = $(build_libdir)/libc++abi.so
LIBCXX_GET_DEPENDENCY = get-libcxx get-libcxxabi
endif

Expand Down Expand Up @@ -498,6 +501,7 @@ UV_OPTS =
else
UV_OPTS = CFLAGS=-DBUILDING_UV_SHARED
endif
UV_OPTS += LDFLAGS="$(CLDFLAGS) -v" CFLAGS="-static-intel"

libuv/configure:
(cd .. && git submodule init && git submodule update)
Expand All @@ -516,7 +520,7 @@ $(UV_SRC_TARGET): libuv/config.status
touch -c libuv/Makefile.in
touch -c libuv/configure
touch -c libuv/config.status
$(MAKE) -C libuv
$(MAKE) -C libuv $(UV_OPTS)
touch -c $@
libuv/checked: $(UV_SRC_TARGET)
ifeq ($(OS),$(BUILD_OS))
Expand Down Expand Up @@ -589,7 +593,7 @@ install-pcre: $(PCRE_OBJ_TARGET)
GRISU_OPTS = $(CXXFLAGS) -O3 -fvisibility=hidden $(fPIC)
GRISU_OBJ_TARGET = $(build_shlibdir)/libgrisu.$(SHLIB_EXT)

double-conversion-$(GRISU_VER).tar.gz:
double-conversion-$(GRISU_VER).tar.gz: $(LIBCXX_DEPENDENCY)
$(JLDOWNLOAD) $@ https://double-conversion.googlecode.com/files/$@
touch -c $@
double-conversion-$(GRISU_VER)/Makefile: double-conversion-$(GRISU_VER).tar.gz
Expand Down
4 changes: 2 additions & 2 deletions ui/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ CXXLD = $(LD)
endif

$(build_bindir)/julia$(EXE): repl.o
@$(call PRINT_LINK, $(CXXLD) $(CXXLDFLAGS) $(LINK_FLAGS) $(SHIPFLAGS) $^ -o $@ -L$(build_private_libdir) -L$(build_libdir) -L$(build_shlibdir) -ljulia $(JLDFLAGS))
@$(call PRINT_LINK, $(CXXLD) $(CXXLDFLAGS) $(LINK_FLAGS) $(SHIPFLAGS) $^ -o $@ -L$(build_private_libdir) -L$(build_libdir) -L$(build_shlibdir) -ljulia $(JLDFLAGS) $(CXXLDFLAGS))
$(build_bindir)/julia-debug$(EXE): repl.do
@$(call PRINT_LINK, $(CXXLD) $(CXXLDFLAGS) $(LINK_FLAGS) $(DEBUGFLAGS) $^ -o $@ -L$(build_private_libdir) -L$(build_libdir) -L$(build_shlibdir) -ljulia-debug $(JLDFLAGS))
@$(call PRINT_LINK, $(CXXLD) $(CXXLDFLAGS) $(LINK_FLAGS) $(DEBUGFLAGS) $^ -o $@ -L$(build_private_libdir) -L$(build_libdir) -L$(build_shlibdir) -ljulia-debug $(JLDFLAGS) $(CXXLDFLAGS))

clean: | $(CLEAN_TARGETS)
rm -f *.o *.do
Expand Down

0 comments on commit 297f8ac

Please sign in to comment.