Skip to content

Commit c49678e

Browse files
committed
update checksums and remove most of CUSTOM_LIBCXX
1 parent f29f70d commit c49678e

File tree

5 files changed

+8
-94
lines changed

5 files changed

+8
-94
lines changed

Make.inc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1377,6 +1377,7 @@ endif
13771377

13781378
# Custom libcxx
13791379
ifeq ($(BUILD_CUSTOM_LIBCXX),1)
1380+
$(error BUILD_CUSTOM_LIBCXX is currently not supported, BUILD_LIBCXX will provide LIBCXX but not link it)
13801381
LDFLAGS += -L$(build_libdir)
13811382
CXXLDFLAGS += -L$(build_libdir) -lc++abi -lc++
13821383
ifeq ($(USECLANG),1)

contrib/refresh_checksums.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ all: checksum-doc-unicodedata
9898

9999
# Special LLVM source hashes for optional targets
100100
checksum-llvm-special-src:
101-
-+$(MAKE) $(QUIET_MAKE) -C "$(JULIAHOME)/deps" USE_BINARYBUILDER_LLVM=0 DEPS_GIT=0 BUILD_LLDB=1 BUILD_LLVM_CLANG=1 BUILD_CUSTOM_LIBCXX=1 USECLANG=1 checksum-llvm
101+
-+$(MAKE) $(QUIET_MAKE) -C "$(JULIAHOME)/deps" USE_BINARYBUILDER_LLVM=0 DEPS_GIT=0 checksum-llvm
102102
all: checksum-llvm-special-src
103103
.PHONY: checksum-llvm-special-src
104104

deps/checksums/llvm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,5 +230,5 @@ libLLVM_assert.v12.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/md5/21f09693ee068d6882c
230230
libLLVM_assert.v12.0.1+2.x86_64-w64-mingw32-cxx03.tar.gz/sha512/cff5601bf70bfdce22cc416ea8ceb469a7e14c02d759ce505b52cd9f9f9579397a9fbb446749bd1e2c3dd7556d221949c0ff13892764d5e71efcb890cf5da40e
231231
libLLVM_assert.v12.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/md5/eae391563d980dd469071072c1ddcf47
232232
libLLVM_assert.v12.0.1+2.x86_64-w64-mingw32-cxx11.tar.gz/sha512/32cc745a2225f8fefd1d466d6ada7411c9ec2fd5454f79c393e38dec383c4e46ec183e9b8f8acabfaeaf8dd335a4a76fad28bdee0f056e0d314c572fab36fb0f
233-
llvm-12.0.1.src.tar.xz/md5/72a257604efa1d32ef85a37cd9c66873
234-
llvm-12.0.1.src.tar.xz/sha512/ff674afb4c8eea699a4756f1bb463f15098a7fa354c733de83c024f8f0cf238cd5f19ae3ec446831c7109235e293e2bf31d8562567ede163c8ec53af7306ba0f
233+
llvm-8f6e49e8a3c0f31a55c342a2a41dda630508c5eb.tar.gz/md5/6aa35f64f20f338647b25bb5b4c7e48e
234+
llvm-8f6e49e8a3c0f31a55c342a2a41dda630508c5eb.tar.gz/sha512/45ae103a6992fe71cc28eec638eb4c765b5601f7a42a857ce31daaae6e126f8a72b05f417696f612051431505fd833a40d7455cbd50f6d210c8195d0cc4bc9d1

deps/llvm.mk

Lines changed: 3 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -171,19 +171,6 @@ endif
171171
# it is then impossible to call non-asserts LLVM libraries (like out-of-tree backends)
172172
LLVM_CMAKE += -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF
173173

174-
ifeq ($(BUILD_CUSTOM_LIBCXX),1)
175-
LLVM_LDFLAGS += -Wl,-rpath,$(build_libdir)
176-
LLVM_CPPFLAGS += -I$(build_includedir)
177-
# We don't want to link to libc++ while trying to build it, so we define these
178-
# flags separately so that we can still pass them to the main LLVM build
179-
LLVM_LIBCXX_LDFLAGS := -lc++ -lc++abi
180-
ifeq ($(USEICC),1)
181-
LLVM_LDFLAGS += -no_cpprt
182-
endif # USEICC
183-
else
184-
LLVM_LIBCXX_LDFLAGS :=
185-
endif # BUILD_CUSTOM_LIBCXX
186-
187174
LLVM_CMAKE += -DCMAKE_C_FLAGS="$(LLVM_CPPFLAGS) $(LLVM_CFLAGS)" \
188175
-DCMAKE_CXX_FLAGS="$(LLVM_CPPFLAGS) $(LLVM_CXXFLAGS)"
189176
ifeq ($(OS),Darwin)
@@ -211,88 +198,14 @@ $(llvm_python_workaround):
211198
ln -sf $(llvm_python_location) "$@/python" && \
212199
ln -sf $(llvm_python_location)-config "$@/python-config"
213200

214-
ifeq ($(BUILD_CUSTOM_LIBCXX),1)
215-
216-
# Take a snapshot of the CMake flags before linking to -lc++ and -lc++abi
217-
# These are added to the LLVM CMake flags further down
218-
LLVM_CMAKE_LIBCXX := $(LLVM_CMAKE) \
219-
-DCMAKE_EXE_LINKER_FLAGS="$(LLVM_LDFLAGS)" \
201+
LLVM_CMAKE += -DCMAKE_EXE_LINKER_FLAGS="$(LLVM_LDFLAGS)" \
220202
-DCMAKE_SHARED_LINKER_FLAGS="$(LLVM_LDFLAGS)"
221203

222-
ifeq ($(USEICC),1)
223-
LIBCXX_EXTRA_FLAGS := -Bstatic -lirc -Bdynamic
224-
endif
225-
226-
# These libraries require unwind.h from the libunwind dependency
227-
ifeq ($(USE_SYSTEM_LIBUNWIND),0)
228-
ifeq ($(OS),Darwin)
229-
BUILT_UNWIND := $(build_prefix)/manifest/llvmunwind
230-
else
231-
BUILT_UNWIND := $(build_prefix)/manifest/unwind
232-
endif # Darwin
233-
else
234-
BUILT_UNWIND :=
235-
endif # Building libunwind
236-
237-
$(LIBCXX_ROOT_DIR)/libcxx: $(LLVM_LIBCXX_TAR) | $(LLVM_SRC_DIR)/source-extracted
238-
$(LIBCXX_ROOT_DIR)/libcxxabi: $(LLVM_LIBCXXABI_TAR) | $(LLVM_SRC_DIR)/source-extracted
239-
$(LLVM_BUILD_DIR)/libcxx-build/Makefile: | $(LIBCXX_ROOT_DIR)/libcxx $(LIBCXX_ROOT_DIR)/libcxxabi $(BUILT_UNWIND)
240-
mkdir -p $(dir $@)
241-
cd $(dir $@) && \
242-
$(CMAKE) -G "Unix Makefiles" $(CMAKE_COMMON) $(LLVM_CMAKE_LIBCXX) -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$(LIBCXX_ROOT_DIR)/libcxxabi/include" $(LIBCXX_ROOT_DIR)/libcxx -DCMAKE_SHARED_LINKER_FLAGS="$(LDFLAGS) -L$(build_libdir) $(LIBCXX_EXTRA_FLAGS)"
243-
$(LLVM_BUILD_DIR)/libcxxabi-build/Makefile: | $(LIBCXX_ROOT_DIR)/libcxxabi $(LIBCXX_ROOT_DIR)/libcxx $(BUILT_UNWIND)
244-
mkdir -p $(dir $@)
245-
cd $(dir $@) && \
246-
$(CMAKE) -G "Unix Makefiles" $(CMAKE_COMMON) $(LLVM_CMAKE_LIBCXX) -DLLVM_ABI_BREAKING_CHECKS="WITH_ASSERTS" -DLLVM_PATH="$(LLVM_SRC_DIR)" $(LIBCXX_ROOT_DIR)/libcxxabi -DLIBCXXABI_CXX_ABI_LIBRARIES="$(LIBCXX_EXTRA_FLAGS)" -DCMAKE_CXX_FLAGS="$(LLVM_CPPFLAGS) $(LLVM_CXXFLAGS) -std=c++11"
247-
$(LLVM_BUILD_DIR)/libcxxabi-build/lib/libc++abi.so.1.0: $(LLVM_BUILD_DIR)/libcxxabi-build/Makefile $(LIBCXX_ROOT_DIR)/libcxxabi/.git/HEAD
248-
$(MAKE) -C $(LLVM_BUILD_DIR)/libcxxabi-build
249-
touch -c $@
250-
$(build_libdir)/libc++abi.so.1.0: $(LLVM_BUILD_DIR)/libcxxabi-build/lib/libc++abi.so.1.0
251-
$(MAKE) -C $(LLVM_BUILD_DIR)/libcxxabi-build install
252-
touch -c $@
253-
# Building this library installs these headers, which breaks other dependencies
254-
-rm -rf $(build_includedir)/c++
255-
$(LLVM_BUILD_DIR)/libcxx-build/lib/libc++.so.1.0: $(build_libdir)/libc++abi.so.1.0 $(LLVM_BUILD_DIR)/libcxx-build/Makefile $(LIBCXX_ROOT_DIR)/libcxx/.git/HEAD
256-
$(MAKE) -C $(LLVM_BUILD_DIR)/libcxx-build
257-
$(build_libdir)/libc++.so.1.0: $(LLVM_BUILD_DIR)/libcxx-build/lib/libc++.so.1.0
258-
$(MAKE) -C $(LLVM_BUILD_DIR)/libcxx-build install
259-
touch -c $@
260-
# Building this library installs these headers, which breaks other dependencies
261-
-rm -rf $(build_includedir)/c++
262-
get-libcxx: $(LIBCXX_ROOT_DIR)/libcxx
263-
get-libcxxabi: $(LIBCXX_ROOT_DIR)/libcxxabi
264-
install-libcxxabi: $(build_libdir)/libc++abi.so.1.0
265-
install-libcxx: $(build_libdir)/libc++.so.1.0
266-
endif # BUILD_CUSTOM_LIBCXX
267-
268-
# We want to be able to clean without having to pass BUILD_CUSTOM_LIBCXX=1, so define these
269-
# outside of the conditional above, can't use `LIBCXX_ROOT_DIR` since that might come from
270-
# the monorepo.
271-
clean-libcxx:
272-
-$(MAKE) -C $(LLVM_BUILD_DIR)/libcxx-build clean
273-
clean-libcxxabi:
274-
-$(MAKE) -C $(LLVM_BUILD_DIR)/libcxxabi-build clean
275-
distclean-libcxx:
276-
-rm -rf $(LLVM_LIBCXX_TAR) $(LLVM_SRC_DIR)/projects/libcxx $(LLVM_BUILD_DIR)/libcxx-build
277-
distclean-libcxxabi:
278-
-rm -rf $(LLVM_LIBCXXABI_TAR) $(LLVM_SRC_DIR)/projects/libcxxabi $(LLVM_BUILD_DIR)/libcxxabi-build
279-
280-
281-
# We want to ensure that the libcxx linking flags don't get passed to the libcxx build, since it will
282-
# error on a fresh build
283-
LLVM_CMAKE += -DCMAKE_EXE_LINKER_FLAGS="$(LLVM_LDFLAGS) $(LLVM_LIBCXX_LDFLAGS)" \
284-
-DCMAKE_SHARED_LINKER_FLAGS="$(LLVM_LDFLAGS) $(LLVM_LIBCXX_LDFLAGS)"
285-
286204
# change the SONAME of Julia's private LLVM
287205
# i.e. libLLVM-6.0jl.so
288206
# see #32462
289207
LLVM_CMAKE += -DLLVM_VERSION_SUFFIX:STRING="jl"
290208

291-
ifeq ($(BUILD_CUSTOM_LIBCXX),1)
292-
LIBCXX_DEPENDENCY := $(build_libdir)/libc++abi.so.1.0 $(build_libdir)/libc++.so.1.0
293-
get-llvm: get-libcxx get-libcxxabi
294-
endif
295-
296209
# Apply version-specific LLVM patches sequentially
297210
LLVM_PATCH_PREV :=
298211
define LLVM_PATCH
@@ -365,7 +278,7 @@ endif
365278
# declare that all patches must be applied before running ./configure
366279
$(LLVM_BUILDDIR_withtype)/build-configured: | $(LLVM_PATCH_PREV)
367280

368-
$(LLVM_BUILDDIR_withtype)/build-configured: $(SRCCACHE)/$(LLVM_SRC_DIR)/source-extracted | $(llvm_python_workaround) $(LIBCXX_DEPENDENCY)
281+
$(LLVM_BUILDDIR_withtype)/build-configured: $(SRCCACHE)/$(LLVM_SRC_DIR)/source-extracted | $(llvm_python_workaround)
369282
mkdir -p $(dir $@)
370283
cd $(dir $@) && \
371284
export PATH=$(llvm_python_workaround):"$$PATH" && \
@@ -407,7 +320,7 @@ $(eval $(call staged-install, \
407320
llvm,$$(LLVM_SRC_DIR)/build_$$(LLVM_BUILDTYPE), \
408321
LLVM_INSTALL,,,))
409322

410-
clean-llvm: clean-libcxx clean-libcxxabi
323+
clean-llvm:
411324
-rm $(LLVM_BUILDDIR_withtype)/build-configured $(LLVM_BUILDDIR_withtype)/build-compiled
412325
-$(MAKE) -C $(LLVM_BUILDDIR_withtype) clean
413326

deps/patchelf.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ $(SRCCACHE)/patchelf-$(PATCHELF_VER)/source-extracted: $(SRCCACHE)/patchelf-$(PA
1212
checksum-patchelf: $(SRCCACHE)/patchelf-$(PATCHELF_VER).tar.gz
1313
$(JLCHECKSUM) $<
1414

15-
$(BUILDDIR)/patchelf-$(PATCHELF_VER)/build-configured: $(SRCCACHE)/patchelf-$(PATCHELF_VER)/source-extracted | $(LIBCXX_DEPENDENCY)
15+
$(BUILDDIR)/patchelf-$(PATCHELF_VER)/build-configured: $(SRCCACHE)/patchelf-$(PATCHELF_VER)/source-extracted
1616
mkdir -p $(dir $@)
1717
cd $(dir $@) && \
1818
$(dir $<)/configure $(CONFIGURE_COMMON) LDFLAGS="$(CXXLDFLAGS)" CPPFLAGS="$(CPPFLAGS)"

0 commit comments

Comments
 (0)