mirror of
https://git.freebsd.org/ports.git
synced 2025-06-08 14:20:33 -04:00
This is preparing for turning lang/julia to a meta port PR: 235872 Submitted by: Iblis Lin <iblis@hs.ntnu.edu.tw> (maintainer)
122 lines
5.3 KiB
Text
122 lines
5.3 KiB
Text
--- 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)
|