@@ -169,14 +169,17 @@ $(build_datarootdir)/julia/base.cache: $(JULIA_SYSIMG) | $(DIRS) $(build_dataroo
169169 $(call cygpath_w,$@ ) )
170170
171171# public libraries, that are installed in $(prefix)/lib
172+ ifeq ($(JULIA_BUILD_MODE ) ,release)
172173JL_TARGETS := julia
173- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1 )
174- JL_TARGETS + = julia-debug
174+ else ifeq ($(JULIA_BUILD_MODE),debug )
175+ JL_TARGETS : = julia-debug
175176endif
176177
177178# private libraries, that are installed in $(prefix)/lib/julia
178- JL_PRIVATE_LIBS-0 := libccalltest libllvmcalltest libjulia-internal libjulia-codegen
179- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
179+ JL_PRIVATE_LIBS-0 := libccalltest libllvmcalltest
180+ ifeq ($(JULIA_BUILD_MODE ) ,release)
181+ JL_PRIVATE_LIBS-0 += libjulia-internal libjulia-codegen
182+ else ifeq ($(JULIA_BUILD_MODE),debug)
180183JL_PRIVATE_LIBS-0 += libjulia-internal-debug libjulia-codegen-debug
181184endif
182185ifeq ($(USE_GPL_LIBS ) , 1)
@@ -237,38 +240,32 @@ endef
237240
238241
239242install : $(build_depsbindir ) /stringreplace $(BUILDROOT ) /doc/_build/html/en/index.html
240- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
241- @$(MAKE) $(QUIET_MAKE) all
242- else
243- @$(MAKE) $(QUIET_MAKE) release
244- endif
243+ @$(MAKE ) $(QUIET_MAKE ) $(JULIA_BUILD_MODE )
245244 @for subdir in $(bindir ) $(datarootdir ) /julia/stdlib/$(VERSDIR ) $(docdir ) $(man1dir ) $(includedir ) /julia $(libdir ) $(private_libdir ) $(sysconfdir ) $(libexecdir ) ; do \
246245 mkdir -p $(DESTDIR ) $$ subdir; \
247246 done
248247
249- $(INSTALL_M) $(build_bindir)/julia $(DESTDIR)$(bindir)/
250- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
251- $(INSTALL_M) $(build_bindir)/julia-debug $(DESTDIR)$(bindir)/
252- endif
248+ $(INSTALL_M) $(JULIA_EXECUTABLE_$(JULIA_BUILD_MODE)) $(DESTDIR)$(bindir)/
253249ifeq ($(OS ) ,WINNT)
254- -$(INSTALL_M) $(filter-out $(build_bindir)/libjulia-debug.dll,$(wildcard $(build_bindir)/*.dll)) $(DESTDIR)$(bindir)/
250+ -$(INSTALL_M) $(wildcard $(build_bindir)/*.dll) $(DESTDIR)$(bindir)/
251+ ifeq ($(JULIA_BUILD_MODE ) ,release)
255252 -$(INSTALL_M) $(build_libdir)/libjulia.dll.a $(DESTDIR)$(libdir)/
253+ else ifeq ($(JULIA_BUILD_MODE),debug)
254+ -$(INSTALL_M) $(build_libdir)/libjulia-debug.dll.a $(DESTDIR)$(libdir)/
255+ endif
256256
257257 # We have a single exception; we want 7z.dll to live in libexec, not bin, so that 7z.exe can find it.
258258 -mv $(DESTDIR)$(bindir)/7z.dll $(DESTDIR)$(libexecdir)/
259- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
260- -$(INSTALL_M) $(build_bindir)/libjulia-debug.dll $(DESTDIR)$(bindir)/
261- -$(INSTALL_M) $(build_libdir)/libjulia-debug.dll.a $(DESTDIR)$(libdir)/
262- endif
263259 -$(INSTALL_M) $(build_bindir)/libopenlibm.dll.a $(DESTDIR)$(libdir)/
264260else
265261
266262# Copy over .dSYM directories directly for Darwin
267263ifneq ($(DARWIN_FRAMEWORK ) ,1)
268264ifeq ($(OS ) ,Darwin)
265+ ifeq ($(JULIA_BUILD_MODE ) ,release)
269266 -cp -a $(build_libdir)/libjulia.*.dSYM $(DESTDIR)$(libdir)
270267 -cp -a $(build_private_libdir)/sys.dylib.dSYM $(DESTDIR)$(private_libdir)
271- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1 )
268+ else ifeq ($(JULIA_BUILD_MODE),debug )
272269 -cp -a $(build_libdir)/libjulia-debug.*.dSYM $(DESTDIR)$(libdir)
273270 -cp -a $(build_private_libdir)/sys-debug.dylib.dSYM $(DESTDIR)$(private_libdir)
274271endif
@@ -283,10 +280,11 @@ endif
283280 done
284281else
285282 # libjulia in Darwin framework has special location and name
283+ ifeq ($(JULIA_BUILD_MODE ) ,release)
286284 $(INSTALL_M) $(build_libdir)/libjulia.$(SOMAJOR).$(SOMINOR).dylib $(DESTDIR)$(prefix)/$(framework_dylib)
287285 @$(DSYMUTIL) -o $(DESTDIR)$(prefix)/$(framework_resources)/$(FRAMEWORK_NAME).dSYM $(DESTDIR)$(prefix)/$(framework_dylib)
288286 @$(DSYMUTIL) -o $(DESTDIR)$(prefix)/$(framework_resources)/sys.dylib.dSYM $(build_private_libdir)/sys.dylib
289- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1 )
287+ else ifeq ($(JULIA_BUILD_MODE),debug )
290288 $(INSTALL_M) $(build_libdir)/libjulia-debug.$(SOMAJOR).$(SOMINOR).dylib $(DESTDIR)$(prefix)/$(framework_dylib)_debug
291289 @$(DSYMUTIL) -o $(DESTDIR)$(prefix)/$(framework_resources)/$(FRAMEWORK_NAME)_debug.dSYM $(DESTDIR)$(prefix)/$(framework_dylib)_debug
292290 @$(DSYMUTIL) -o $(DESTDIR)$(prefix)/$(framework_resources)/sys-debug.dylib.dSYM $(build_private_libdir)/sys-debug.dylib
@@ -314,8 +312,9 @@ endif
314312 # Copy public headers
315313 cp -R -L $(build_includedir)/julia/* $(DESTDIR)$(includedir)/julia
316314 # Copy system image
315+ ifeq ($(JULIA_BUILD_MODE ) ,release)
317316 $(INSTALL_M) $(build_private_libdir)/sys.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
318- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1 )
317+ else ifeq ($(JULIA_BUILD_MODE),debug )
319318 $(INSTALL_M) $(build_private_libdir)/sys-debug.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
320319endif
321320
@@ -364,33 +363,35 @@ endif
364363 RELEASE_TARGET=$(DESTDIR)$(prefix)/$(framework_dylib); \
365364 DEBUG_TARGET=$(DESTDIR)$(prefix)/$(framework_dylib)_debug; \
366365 fi; \
367- $(call stringreplace,$${RELEASE_TARGET},sys.$(SHLIB_EXT)$$,$(private_libdir_rel)/sys.$(SHLIB_EXT)); \
368- if [ "$(BUNDLE_DEBUG_LIBS)" = "1" ]; then \
366+ if [ "$(JULIA_BUILD_MODE)" = "release" ]; then \
367+ $(call stringreplace,$${RELEASE_TARGET},sys.$(SHLIB_EXT)$$,$(private_libdir_rel)/sys.$(SHLIB_EXT)); \
368+ elif [ "$(JULIA_BUILD_MODE)" = "debug" ]; then \
369369 $(call stringreplace,$${DEBUG_TARGET},sys-debug.$(SHLIB_EXT)$$,$(private_libdir_rel)/sys-debug.$(SHLIB_EXT)); \
370370 fi;
371371endif
372372
373373 # Set rpath for libjulia-internal, which is moving from `../lib` to `../lib/julia`. We only need to do this for Linux/FreeBSD
374374ifneq (,$(findstring $(OS ) ,Linux FreeBSD) )
375+ ifeq ($(JULIA_BUILD_MODE ) ,release)
375376 $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal.$(SHLIB_EXT)
376- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1 )
377+ else ifeq ($(JULIA_BUILD_MODE),debug )
377378 $(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal-debug.$(SHLIB_EXT)
378379endif
379380endif
380381
381382
382383ifneq ($(LOADER_BUILD_DEP_LIBS ) ,$(LOADER_INSTALL_DEP_LIBS ) )
383384 # Next, overwrite relative path to libjulia-internal in our loader if $$(LOADER_BUILD_DEP_LIBS) != $$(LOADER_INSTALL_DEP_LIBS)
385+ ifeq ($(JULIA_BUILD_MODE ) ,release)
384386 $(call stringreplace,$(DESTDIR)$(shlibdir)/libjulia.$(JL_MAJOR_MINOR_SHLIB_EXT),$(LOADER_BUILD_DEP_LIBS)$$,$(LOADER_INSTALL_DEP_LIBS))
385- ifeq ($(OS ) ,Darwin)
386- # Codesign the libjulia we just modified
387- $(JULIAHOME)/contrib/codesign.sh "$(MACOS_CODESIGN_IDENTITY)" "$(DESTDIR)$(shlibdir)/libjulia.$(JL_MAJOR_MINOR_SHLIB_EXT)"
388- endif
389-
390- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1)
387+ else ifeq ($(JULIA_BUILD_MODE),debug)
391388 $(call stringreplace,$(DESTDIR)$(shlibdir)/libjulia-debug.$(JL_MAJOR_MINOR_SHLIB_EXT),$(LOADER_DEBUG_BUILD_DEP_LIBS)$$,$(LOADER_DEBUG_INSTALL_DEP_LIBS))
389+ endif
392390ifeq ($(OS ) ,Darwin)
393391 # Codesign the libjulia we just modified
392+ ifeq ($(JULIA_BUILD_MODE ) ,release)
393+ $(JULIAHOME)/contrib/codesign.sh "$(MACOS_CODESIGN_IDENTITY)" "$(DESTDIR)$(shlibdir)/libjulia.$(JL_MAJOR_MINOR_SHLIB_EXT)"
394+ else ifeq ($(JULIA_BUILD_MODE),debug)
394395 $(JULIAHOME)/contrib/codesign.sh "$(MACOS_CODESIGN_IDENTITY)" "$(DESTDIR)$(shlibdir)/libjulia-debug.$(JL_MAJOR_MINOR_SHLIB_EXT)"
395396endif
396397endif
0 commit comments