Changeset View
Changeset View
Standalone View
Standalone View
lang/julia10/files/patch-Makefile
- This file was added.
Property | Old Value | New Value |
---|---|---|
fbsd:nokeywords | null | yes \ No newline at end of property |
svn:eol-style | null | native \ No newline at end of property |
svn:mime-type | null | text/plain \ No newline at end of property |
--- Makefile.orig 2018-12-18 01:38:57 UTC | |||||
+++ Makefile | |||||
@@ -264,24 +264,6 @@ endif | |||||
endif | |||||
endif | |||||
-# On FreeBSD, /lib/libgcc_s.so.1 is incompatible with Fortran; to use Fortran on FreeBSD, | |||||
-# we need to link to the libgcc_s that ships with the same GCC version used by libgfortran. | |||||
-# To work around this, we copy the GCC libraries we need, namely libgfortran, libgcc_s, | |||||
-# and libquadmath, into our build library directory, $(build_libdir). We also add them to | |||||
-# JL_PRIVATE_LIBS-0 so that they know where they need to live at install time. | |||||
-ifeq ($(OS),FreeBSD) | |||||
-define std_so | |||||
-julia-deps: | $$(build_libdir)/$(1).so | |||||
-$$(build_libdir)/$(1).so: | $$(build_libdir) | |||||
- $$(INSTALL_M) $$(GCCPATH)/$(1).so* $$(build_libdir) | |||||
-JL_PRIVATE_LIBS-0 += $(1) | |||||
-endef | |||||
- | |||||
-$(eval $(call std_so,libgfortran)) | |||||
-$(eval $(call std_so,libgcc_s)) | |||||
-$(eval $(call std_so,libquadmath)) | |||||
-endif # FreeBSD | |||||
- | |||||
ifeq ($(OS),WINNT) | |||||
define std_dll | |||||
julia-deps: | $$(build_bindir)/lib$(1).dll $$(build_depsbindir)/lib$(1).dll | |||||
@@ -328,8 +310,7 @@ JL_PRIVATE_LIBS-0 += libgfortran libgcc_s libquadmath | |||||
endif | |||||
-install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html | |||||
- @$(MAKE) $(QUIET_MAKE) all | |||||
+install: $(build_depsbindir)/stringreplace | |||||
@for subdir in $(bindir) $(datarootdir)/julia/stdlib/$(VERSDIR) $(docdir) $(man1dir) $(includedir)/julia $(libdir) $(private_libdir) $(sysconfdir); do \ | |||||
mkdir -p $(DESTDIR)$$subdir; \ | |||||
done | |||||
@@ -371,10 +352,6 @@ endif | |||||
fi \ | |||||
done \ | |||||
done | |||||
- for suffix in $(JL_PRIVATE_LIBS-1) ; do \ | |||||
- lib=$(build_private_libdir)/$${suffix}.$(SHLIB_EXT); \ | |||||
- $(INSTALL_M) $$lib $(DESTDIR)$(private_libdir) ; \ | |||||
- done | |||||
endif | |||||
# Copy public headers | |||||
@@ -389,8 +366,6 @@ endif | |||||
$(INSTALL_M) $(JULIAHOME)/contrib/build_sysimg.jl $(DESTDIR)$(datarootdir)/julia/ | |||||
# Copy in all .jl sources as well | |||||
cp -R -L $(build_datarootdir)/julia $(DESTDIR)$(datarootdir)/ | |||||
- # Copy documentation | |||||
- cp -R -L $(BUILDROOT)/doc/_build/html $(DESTDIR)$(docdir)/ | |||||
# Remove various files which should not be installed | |||||
-rm -f $(DESTDIR)$(datarootdir)/julia/base/version_git.sh | |||||
-rm -f $(DESTDIR)$(datarootdir)/julia/test/Makefile | |||||
@@ -400,16 +375,6 @@ endif | |||||
-rm -f $(DESTDIR)$(datarootdir)/julia/stdlib/$(VERSDIR)/*/build-checked | |||||
# Copy in beautiful new man page | |||||
$(INSTALL_F) $(build_man1dir)/julia.1 $(DESTDIR)$(man1dir)/ | |||||
- # Copy icon and .desktop file | |||||
- mkdir -p $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ | |||||
- $(INSTALL_F) $(JULIAHOME)/contrib/julia.svg $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ | |||||
- -touch -c $(DESTDIR)$(datarootdir)/icons/hicolor/ | |||||
- -gtk-update-icon-cache $(DESTDIR)$(datarootdir)/icons/hicolor/ | |||||
- mkdir -p $(DESTDIR)$(datarootdir)/applications/ | |||||
- $(INSTALL_F) $(JULIAHOME)/contrib/julia.desktop $(DESTDIR)$(datarootdir)/applications/ | |||||
- # Install appdata file | |||||
- mkdir -p $(DESTDIR)$(datarootdir)/appdata/ | |||||
- $(INSTALL_F) $(JULIAHOME)/contrib/julia.appdata.xml $(DESTDIR)$(datarootdir)/appdata/ | |||||
# Update RPATH entries and JL_SYSTEM_IMAGE_PATH if $(private_libdir_rel) != $(build_private_libdir_rel) | |||||
ifneq ($(private_libdir_rel),$(build_private_libdir_rel)) | |||||
@@ -420,7 +385,7 @@ ifeq ($(OS), Darwin) | |||||
done | |||||
else ifneq (,$(findstring $(OS),Linux FreeBSD)) | |||||
for j in $(JL_TARGETS) ; do \ | |||||
- patchelf --set-rpath '$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \ | |||||
+ patchelf --set-rpath '$(GCCPATH):$$ORIGIN/$(private_libdir_rel):$$ORIGIN/$(libdir_rel)' $(DESTDIR)$(bindir)/$$j; \ | |||||
done | |||||
endif | |||||
@@ -431,22 +396,24 @@ ifeq ($(BUNDLE_DEBUG_LIBS),1) | |||||
endif | |||||
endif | |||||
- # On FreeBSD, remove the build's libdir from each library's RPATH | |||||
-ifeq ($(OS),FreeBSD) | |||||
- $(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(libdir) $(build_libdir) | |||||
- $(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(private_libdir) $(build_libdir) | |||||
- $(JULIAHOME)/contrib/fixup-rpath.sh $(build_depsbindir)/patchelf $(DESTDIR)$(bindir) $(build_libdir) | |||||
- # Set libgfortran's RPATH to ORIGIN instead of GCCPATH. It's only libgfortran that | |||||
- # needs to be fixed here, as libgcc_s and libquadmath don't have RPATHs set. If we | |||||
- # don't set libgfortran's RPATH, it won't be able to find its friends on systems | |||||
- # that don't have the exact GCC port installed used for the build. | |||||
- for lib in $(DESTDIR)$(private_libdir)/libgfortran*$(SHLIB_EXT)*; do \ | |||||
- $(build_depsbindir)/patchelf --set-rpath '$$ORIGIN' $$lib; \ | |||||
- done | |||||
-endif | |||||
- | |||||
mkdir -p $(DESTDIR)$(sysconfdir) | |||||
cp -R $(build_sysconfdir)/julia $(DESTDIR)$(sysconfdir)/ | |||||
+ | |||||
+install-docs: | |||||
+ # Copy documentation | |||||
+ cp -R -L $(BUILDROOT)/doc/_build/html $(DESTDIR)$(docdir)/ | |||||
+ | |||||
+install-desktop: | |||||
+ # Copy icon and .desktop file | |||||
+ mkdir -p $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ | |||||
+ $(INSTALL_F) $(JULIAHOME)/contrib/julia.svg $(DESTDIR)$(datarootdir)/icons/hicolor/scalable/apps/ | |||||
+ -touch -c $(DESTDIR)$(datarootdir)/icons/hicolor/ | |||||
+ -gtk-update-icon-cache $(DESTDIR)$(datarootdir)/icons/hicolor/ | |||||
+ mkdir -p $(DESTDIR)$(datarootdir)/applications/ | |||||
+ $(INSTALL_F) $(JULIAHOME)/contrib/julia.desktop $(DESTDIR)$(datarootdir)/applications/ | |||||
+ # Install appdata file | |||||
+ mkdir -p $(DESTDIR)$(datarootdir)/appdata/ | |||||
+ $(INSTALL_F) $(JULIAHOME)/contrib/julia.appdata.xml $(DESTDIR)$(datarootdir)/appdata/ | |||||
distclean: | |||||
-rm -fr $(BUILDROOT)/julia-*.tar.gz $(BUILDROOT)/julia*.exe $(BUILDROOT)/julia-*.7z $(BUILDROOT)/julia-$(JULIA_COMMIT) |