@@ -225,7 +225,10 @@ julia-base-cache: julia-sysimg-$(JULIA_BUILD_MODE) | $(DIRS) $(build_datarootdir
225
225
$(call cygpath_w,$(build_datarootdir ) /julia/base.cache) )
226
226
227
227
# public libraries, that are installed in $(prefix)/lib
228
- JL_LIBS := julia julia-debug
228
+ JL_TARGETS := julia
229
+ ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
230
+ JL_TARGETS += julia-debug
231
+ endif
229
232
230
233
# private libraries, that are installed in $(prefix)/lib/julia
231
234
JL_PRIVATE_LIBS-0 := libccalltest
@@ -242,7 +245,7 @@ JL_PRIVATE_LIBS-$(USE_SYSTEM_MBEDTLS) += libmbedtls libmbedcrypto libmbedx509
242
245
JL_PRIVATE_LIBS-$(USE_SYSTEM_CURL) += libcurl
243
246
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBGIT2) += libgit2
244
247
ifeq ($(USE_LLVM_SHLIB ) ,1)
245
- JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM
248
+ JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM libLLVM-6
246
249
endif
247
250
248
251
ifeq ($(USE_SYSTEM_OPENLIBM ) ,0)
@@ -289,7 +292,7 @@ $$(build_bindir)/lib$(1).dll: | $$(build_bindir)
289
292
cp $$(call pathsearch,lib$(1 ) .dll,$$(STD_LIB_PATH ) ) $$(build_bindir )
290
293
$$(build_depsbindir ) /lib$(1 ) .dll: | $$(build_depsbindir )
291
294
cp $$(call pathsearch,lib$(1 ) .dll,$$(STD_LIB_PATH ) ) $$(build_depsbindir )
292
- JL_LIBS += $(1 )
295
+ JL_TARGETS += $(1 )
293
296
endef
294
297
295
298
# Given a list of space-separated libraries, return the first library name that is
@@ -320,28 +323,38 @@ install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index
320
323
mkdir -p $(DESTDIR ) $$ subdir; \
321
324
done
322
325
323
- $(INSTALL_M) $(build_bindir)/julia* $(DESTDIR)$(bindir)/
326
+ $(INSTALL_M) $(build_bindir)/julia $(DESTDIR)$(bindir)/
327
+ ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
328
+ $(INSTALL_M) $(build_bindir)/julia-debug $(DESTDIR)$(bindir)/
329
+ endif
324
330
ifeq ($(OS ) ,WINNT)
325
331
-$(INSTALL_M) $(build_bindir)/*.dll $(DESTDIR)$(bindir)/
326
332
-$(INSTALL_M) $(build_libdir)/libjulia.dll.a $(DESTDIR)$(libdir)/
333
+ ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
327
334
-$(INSTALL_M) $(build_libdir)/libjulia-debug.dll.a $(DESTDIR)$(libdir)/
335
+ endif
328
336
-$(INSTALL_M) $(build_bindir)/libopenlibm.dll.a $(DESTDIR)$(libdir)/
329
337
else
338
+
339
+ # Copy over .dSYM directories directly for Darwin
330
340
ifeq ($(OS ) ,Darwin)
331
- # Copy over .dSYM directories directly
332
- -cp -a $(build_libdir)/*.dSYM $(DESTDIR)$(libdir)
333
- -cp -a $(build_private_libdir)/*.dSYM $(DESTDIR)$(private_libdir)
341
+ -cp -a $(build_libdir)/libjulia.*.dSYM $(DESTDIR)$(libdir)
342
+ -cp -a $(build_private_libdir)/sys.dylib.dSYM $(DESTDIR)$(private_libdir)
343
+ ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
344
+ -cp -a $(build_libdir)/libjulia-debug.*.dSYM $(DESTDIR)$(libdir)
345
+ -cp -a $(build_private_libdir)/sys-debug.dylib.dSYM $(DESTDIR)$(private_libdir)
346
+ endif
334
347
endif
335
348
336
- for suffix in $(JL_LIBS ) ; do \
337
- for lib in $(build_libdir)/lib$${suffix}*. $(SHLIB_EXT)*; do \
349
+ for suffix in $(JL_TARGETS ) ; do \
350
+ for lib in $(build_libdir)/lib$${suffix}.* $(SHLIB_EXT)*; do \
338
351
if [ "$${lib# #*.}" != "dSYM" ]; then \
339
352
$(INSTALL_M) $$lib $(DESTDIR)$(libdir) ; \
340
353
fi \
341
354
done \
342
355
done
343
356
for suffix in $(JL_PRIVATE_LIBS-0) ; do \
344
- for lib in $(build_libdir)/$${suffix}*. $(SHLIB_EXT)*; do \
357
+ for lib in $(build_libdir)/$${suffix}.* $(SHLIB_EXT)*; do \
345
358
if [ "$${lib# #*.}" != "dSYM" ]; then \
346
359
$(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \
347
360
fi \
@@ -357,7 +370,9 @@ endif
357
370
cp -R -L $(build_includedir)/julia/* $(DESTDIR)$(includedir)/julia
358
371
# Copy system image
359
372
$(INSTALL_M) $(build_private_libdir)/sys.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
373
+ ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
360
374
$(INSTALL_M) $(build_private_libdir)/sys-debug.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
375
+ endif
361
376
# Copy in system image build script
362
377
$(INSTALL_M) $(JULIAHOME)/contrib/build_sysimg.jl $(DESTDIR)$(datarootdir)/julia/
363
378
# Copy in all .jl sources as well
@@ -383,21 +398,23 @@ endif
383
398
# Update RPATH entries and JL_SYSTEM_IMAGE_PATH if $(private_libdir_rel) != $(build_private_libdir_rel)
384
399
ifneq ($(private_libdir_rel ) ,$(build_private_libdir_rel ) )
385
400
ifeq ($(OS ) , Darwin)
386
- for julia in $(DESTDIR)$(bindir)/julia* ; do \
387
- install_name_tool -rpath @executable_path/$(build_private_libdir_rel) @executable_path/$(private_libdir_rel) $$julia ; \
388
- install_name_tool -add_rpath @executable_path/$(build_libdir_rel) @executable_path/$(libdir_rel) $$julia ; \
401
+ for j in $(JL_TARGETS) ; do \
402
+ install_name_tool -rpath @executable_path/$(build_private_libdir_rel) @executable_path/$(private_libdir_rel) $(DESTDIR)$(bindir)/$$j ; \
403
+ install_name_tool -add_rpath @executable_path/$(build_libdir_rel) @executable_path/$(libdir_rel) $(DESTDIR)$(bindir)/$$j ; \
389
404
done
390
405
else ifneq (,$(findstring $(OS),Linux FreeBSD))
391
- for julia in $(DESTDIR)$(bindir)/julia* ; do \
392
- patchelf --set-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $$julia ; \
406
+ for j in $(JL_TARGETS) ; do \
407
+ patchelf --set-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j ; \
393
408
done
394
409
endif
395
410
396
411
# Overwrite JL_SYSTEM_IMAGE_PATH in julia library
397
412
$(call stringreplace,$(DESTDIR)$(libdir)/libjulia.$(SHLIB_EXT),sys.$(SHLIB_EXT)$$,$(private_libdir_rel)/sys.$(SHLIB_EXT))
413
+ ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
398
414
$(call stringreplace,$(DESTDIR)$(libdir)/libjulia-debug.$(SHLIB_EXT),sys-debug.$(SHLIB_EXT)$$,$(private_libdir_rel)/sys-debug.$(SHLIB_EXT))
399
415
endif
400
416
417
+ endif
401
418
# On FreeBSD, remove the build's libdir from each library's RPATH
402
419
ifeq ($(OS ) ,FreeBSD)
403
420
$(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(libdir) $(build_libdir)
0 commit comments