@@ -169,14 +169,17 @@ $(build_datarootdir)/julia/base.cache: $(JULIA_SYSIMG) | $(DIRS) $(build_dataroo
169
169
$(call cygpath_w,$@ ) )
170
170
171
171
# public libraries, that are installed in $(prefix)/lib
172
+ ifeq ($(JULIA_BUILD_MODE ) ,release)
172
173
JL_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
175
176
endif
176
177
177
178
# 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)
180
183
JL_PRIVATE_LIBS-0 += libjulia-internal-debug libjulia-codegen-debug
181
184
endif
182
185
ifeq ($(USE_GPL_LIBS ) , 1)
@@ -237,38 +240,32 @@ endef
237
240
238
241
239
242
install : $(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 )
245
244
@for subdir in $(bindir ) $(datarootdir ) /julia/stdlib/$(VERSDIR ) $(docdir ) $(man1dir ) $(includedir ) /julia $(libdir ) $(private_libdir ) $(sysconfdir ) $(libexecdir ) ; do \
246
245
mkdir -p $(DESTDIR ) $$ subdir; \
247
246
done
248
247
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)/
253
249
ifeq ($(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)
255
252
-$(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
256
256
257
257
# We have a single exception; we want 7z.dll to live in libexec, not bin, so that 7z.exe can find it.
258
258
-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
263
259
-$(INSTALL_M) $(build_bindir)/libopenlibm.dll.a $(DESTDIR)$(libdir)/
264
260
else
265
261
266
262
# Copy over .dSYM directories directly for Darwin
267
263
ifneq ($(DARWIN_FRAMEWORK ) ,1)
268
264
ifeq ($(OS ) ,Darwin)
265
+ ifeq ($(JULIA_BUILD_MODE ) ,release)
269
266
-cp -a $(build_libdir)/libjulia.*.dSYM $(DESTDIR)$(libdir)
270
267
-cp -a $(build_private_libdir)/sys.dylib.dSYM $(DESTDIR)$(private_libdir)
271
- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1 )
268
+ else ifeq ($(JULIA_BUILD_MODE),debug )
272
269
-cp -a $(build_libdir)/libjulia-debug.*.dSYM $(DESTDIR)$(libdir)
273
270
-cp -a $(build_private_libdir)/sys-debug.dylib.dSYM $(DESTDIR)$(private_libdir)
274
271
endif
@@ -283,10 +280,11 @@ endif
283
280
done
284
281
else
285
282
# libjulia in Darwin framework has special location and name
283
+ ifeq ($(JULIA_BUILD_MODE ) ,release)
286
284
$(INSTALL_M) $(build_libdir)/libjulia.$(SOMAJOR).$(SOMINOR).dylib $(DESTDIR)$(prefix)/$(framework_dylib)
287
285
@$(DSYMUTIL) -o $(DESTDIR)$(prefix)/$(framework_resources)/$(FRAMEWORK_NAME).dSYM $(DESTDIR)$(prefix)/$(framework_dylib)
288
286
@$(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 )
290
288
$(INSTALL_M) $(build_libdir)/libjulia-debug.$(SOMAJOR).$(SOMINOR).dylib $(DESTDIR)$(prefix)/$(framework_dylib)_debug
291
289
@$(DSYMUTIL) -o $(DESTDIR)$(prefix)/$(framework_resources)/$(FRAMEWORK_NAME)_debug.dSYM $(DESTDIR)$(prefix)/$(framework_dylib)_debug
292
290
@$(DSYMUTIL) -o $(DESTDIR)$(prefix)/$(framework_resources)/sys-debug.dylib.dSYM $(build_private_libdir)/sys-debug.dylib
@@ -314,8 +312,9 @@ endif
314
312
# Copy public headers
315
313
cp -R -L $(build_includedir)/julia/* $(DESTDIR)$(includedir)/julia
316
314
# Copy system image
315
+ ifeq ($(JULIA_BUILD_MODE ) ,release)
317
316
$(INSTALL_M) $(build_private_libdir)/sys.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
318
- ifeq ($(BUNDLE_DEBUG_LIBS ) ,1 )
317
+ else ifeq ($(JULIA_BUILD_MODE),debug )
319
318
$(INSTALL_M) $(build_private_libdir)/sys-debug.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
320
319
endif
321
320
@@ -364,33 +363,35 @@ endif
364
363
RELEASE_TARGET=$(DESTDIR)$(prefix)/$(framework_dylib); \
365
364
DEBUG_TARGET=$(DESTDIR)$(prefix)/$(framework_dylib)_debug; \
366
365
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 \
369
369
$(call stringreplace,$${DEBUG_TARGET},sys-debug.$(SHLIB_EXT)$$,$(private_libdir_rel)/sys-debug.$(SHLIB_EXT)); \
370
370
fi;
371
371
endif
372
372
373
373
# Set rpath for libjulia-internal, which is moving from `../lib` to `../lib/julia`. We only need to do this for Linux/FreeBSD
374
374
ifneq (,$(findstring $(OS ) ,Linux FreeBSD) )
375
+ ifeq ($(JULIA_BUILD_MODE ) ,release)
375
376
$(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 )
377
378
$(PATCHELF) --set-rpath '$$ORIGIN:$$ORIGIN/$(reverse_private_libdir_rel)' $(DESTDIR)$(private_libdir)/libjulia-internal-debug.$(SHLIB_EXT)
378
379
endif
379
380
endif
380
381
381
382
382
383
ifneq ($(LOADER_BUILD_DEP_LIBS ) ,$(LOADER_INSTALL_DEP_LIBS ) )
383
384
# 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)
384
386
$(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)
391
388
$(call stringreplace,$(DESTDIR)$(shlibdir)/libjulia-debug.$(JL_MAJOR_MINOR_SHLIB_EXT),$(LOADER_DEBUG_BUILD_DEP_LIBS)$$,$(LOADER_DEBUG_INSTALL_DEP_LIBS))
389
+ endif
392
390
ifeq ($(OS ) ,Darwin)
393
391
# 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)
394
395
$(JULIAHOME)/contrib/codesign.sh "$(MACOS_CODESIGN_IDENTITY)" "$(DESTDIR)$(shlibdir)/libjulia-debug.$(JL_MAJOR_MINOR_SHLIB_EXT)"
395
396
endif
396
397
endif
0 commit comments