From a5e98444e99f7ebf37e39a24e109f334f3d91503 Mon Sep 17 00:00:00 2001 From: Alex Arslan Date: Tue, 12 Sep 2017 09:50:32 -0700 Subject: [PATCH] Stop building and shipping openspecfun (#23598) --- LICENSE.md | 2 -- Make.inc | 1 - Makefile | 3 --- NEWS.md | 4 ++++ README.md | 4 ---- base/math.jl | 1 - contrib/fixup-libgfortran.sh | 8 +++---- contrib/windows/appveyor_build.sh | 2 +- deps/Makefile | 9 ++----- deps/openspecfun.mk | 40 ------------------------------- deps/openspecfun.version | 2 -- 11 files changed, 11 insertions(+), 65 deletions(-) delete mode 100644 deps/openspecfun.mk delete mode 100644 deps/openspecfun.version diff --git a/LICENSE.md b/LICENSE.md index b906f655a5817..9b91dc57513e0 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -54,8 +54,6 @@ their own licenses: - [ARPACK](http://www.caam.rice.edu/software/ARPACK/RiceBSD.txt#LICENSE) [BSD-3] - [DSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/LICENSE.txt) [BSD-3] - [OPENLIBM](https://github.com/JuliaLang/openlibm/blob/master/LICENSE.md) [MIT, BSD-2, ISC] -- [OPENSPECFUN](https://github.com/JuliaLang/openspecfun) [MIT, public domain] -- [FADDEEVA](http://ab-initio.mit.edu/Faddeeva) [MIT] - [GMP](http://gmplib.org/manual/Copying.html#Copying) [LGPL3+ or GPL2+] - [LIBGIT2](https://github.com/libgit2/libgit2/blob/development/COPYING) [GPL2+ with unlimited linking exception] - [CURL](https://curl.haxx.se/docs/copyright.html) [MIT/X derivative] diff --git a/Make.inc b/Make.inc index cf80fc05746fd..e7768166993d6 100644 --- a/Make.inc +++ b/Make.inc @@ -31,7 +31,6 @@ USE_SYSTEM_PCRE:=0 USE_SYSTEM_LIBM:=0 USE_SYSTEM_OPENLIBM:=0 UNTRUSTED_SYSTEM_LIBM:=0 -USE_SYSTEM_OPENSPECFUN:=0 USE_SYSTEM_DSFMT:=0 USE_SYSTEM_BLAS:=0 USE_SYSTEM_LAPACK:=0 diff --git a/Makefile b/Makefile index fd04142297f50..15c8eca5b3b7f 100644 --- a/Makefile +++ b/Makefile @@ -251,9 +251,6 @@ ifeq ($(USE_SYSTEM_LIBM),0) JL_PRIVATE_LIBS += openlibm endif endif -ifeq ($(USE_SYSTEM_OPENSPECFUN),0) -JL_PRIVATE_LIBS += openspecfun -endif ifeq ($(USE_SYSTEM_DSFMT),0) JL_PRIVATE_LIBS += dSFMT endif diff --git a/NEWS.md b/NEWS.md index 2dbefa349880e..ac218f591e380 100644 --- a/NEWS.md +++ b/NEWS.md @@ -202,6 +202,9 @@ This section lists changes that do not have deprecation warnings. They now return `CartesianIndex`es for all but 1-d arrays, and in general return the `keys` of indexed collections (e.g. dictionaries) ([#22907]). + * The `openspecfun` library is no longer built and shipped with Julia, as it is no longer + used internally ([#22390]). + Library improvements -------------------- @@ -1276,6 +1279,7 @@ Command-line option changes [#22310]: https://github.com/JuliaLang/julia/issues/22310 [#22325]: https://github.com/JuliaLang/julia/issues/22325 [#22350]: https://github.com/JuliaLang/julia/issues/22350 +[#22390]: https://github.com/JuliaLang/julia/issues/22390 [#22496]: https://github.com/JuliaLang/julia/issues/22496 [#22523]: https://github.com/JuliaLang/julia/issues/22523 [#22532]: https://github.com/JuliaLang/julia/issues/22532 diff --git a/README.md b/README.md index cf9e3413bf7e0..353067458def1 100644 --- a/README.md +++ b/README.md @@ -289,12 +289,10 @@ Julia uses the following external libraries, which are automatically downloaded - **[FemtoLisp]** — packaged with Julia source, and used to implement the compiler front-end. - **[libuv]** — portable, high-performance event-based I/O library - **[OpenLibm]** — portable libm library containing elementary math functions. -- **[OpenSpecFun]** (>= 0.4) — library containing Bessel and error functions of complex arguments. - **[DSFMT]** — fast Mersenne Twister pseudorandom number generator library. - **[OpenBLAS]** — fast, open, and maintained [basic linear algebra subprograms (BLAS)](https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms) library, based on [Kazushige Goto's](https://en.wikipedia.org/wiki/Kazushige_Goto) famous [GotoBLAS](https://www.tacc.utexas.edu/research-development/tacc-software/gotoblas2). - **[LAPACK]** (>= 3.5) — library of linear algebra routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. - **[MKL]** (optional) – OpenBLAS and LAPACK may be replaced by Intel's MKL library. -- **[AMOS]** — subroutines for computing Bessel and Airy functions. - **[SuiteSparse]** (>= 4.1) — library of linear algebra routines for sparse matrices. - **[ARPACK]** — collection of subroutines designed to solve large, sparse eigenvalue problems. - **[PCRE]** (>= 10.00) — Perl-compatible regular expressions library. @@ -320,13 +318,11 @@ Julia uses the following external libraries, which are automatically downloaded [perl]: http://www.perl.org [cmake]: http://www.cmake.org [OpenLibm]: https://github.com/JuliaLang/openlibm -[OpenSpecFun]: https://github.com/JuliaLang/openspecfun [DSFMT]: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/#dSFMT [OpenBLAS]: https://github.com/xianyi/OpenBLAS [LAPACK]: http://www.netlib.org/lapack [MKL]: http://software.intel.com/en-us/articles/intel-mkl [SuiteSparse]: http://faculty.cse.tamu.edu/davis/suitesparse.html -[AMOS]: http://netlib.org/amos [ARPACK]: http://forge.scilab.org/index.php/p/arpack-ng [PCRE]: http://www.pcre.org [LLVM]: http://www.llvm.org diff --git a/base/math.jl b/base/math.jl index 5cb9cd0f09710..1c30689c7fa0e 100644 --- a/base/math.jl +++ b/base/math.jl @@ -201,7 +201,6 @@ log(b::Number, x::Number) = log(promote(b,x)...) # type specific math functions const libm = Base.libm_name -const openspecfun = "libopenspecfun" # functions with no domain error """ diff --git a/contrib/fixup-libgfortran.sh b/contrib/fixup-libgfortran.sh index 3d8579e7a6a55..131cbc3836571 100755 --- a/contrib/fixup-libgfortran.sh +++ b/contrib/fixup-libgfortran.sh @@ -52,7 +52,7 @@ private_libname() } # First, discover all the places where libgfortran/libgcc is, as well as their true SONAMES -for lib in arpack openspecfun lapack; do +for lib in arpack lapack; do if [ -f "$private_libdir/lib$lib.$SHLIB_EXT" ]; then # Find the paths to the libraries we're interested in. These are almost # always within the same directory, but we like to be general. @@ -125,13 +125,13 @@ change_linkage() } # For every library that remotely touches libgfortran stuff (the libraries we -# have copied in ourselves as well as arpack, openspecfun, etc...) we must +# have copied in ourselves as well as arpack, etc...) we must # update the linkage to point to @rpath (on OSX) or $ORIGIN (on Linux) so # that direct links to the old libgfortran directories are instead directed # to the proper location, which is our $private_libdir. -for lib in libopenblas libarpack libcholmod liblapack libopenspecfun $SONAMES; do +for lib in libopenblas libarpack libcholmod liblapack $SONAMES; do # Grab every incarnation of that library that exists within $private_libdir - # (e.g. "libopenspecfun.so", and "libopenspecfun.so.0", etc...) + # (e.g. "libopenblas.so", and "libopenblas.so.0", etc...) for lib_path in $private_libdir/$lib*; do # Iterate over dependency names that need to be changed for soname in $SONAMES; do diff --git a/contrib/windows/appveyor_build.sh b/contrib/windows/appveyor_build.sh index 927151e5d407b..4f1ab3451016c 100755 --- a/contrib/windows/appveyor_build.sh +++ b/contrib/windows/appveyor_build.sh @@ -167,7 +167,7 @@ fi chmod +x usr/bin/* usr/tools/* for lib in SUITESPARSE ARPACK BLAS LAPACK \ - GMP MPFR PCRE LIBUNWIND OPENSPECFUN; do + GMP MPFR PCRE LIBUNWIND; do echo "USE_SYSTEM_$lib = 1" >> Make.user done echo 'override LIBLAPACK = $(LIBBLAS)' >> Make.user diff --git a/deps/Makefile b/deps/Makefile index c5bb3e607215e..b957e08285a00 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -24,7 +24,7 @@ include $(SRCDIR)/tools/git-external.mk # custom Makefile rules: openlibm dsfmt suitesparse-wrapper suitesparse lapack openblas utf8proc objconv osxunwind # CMake libs: libgit2 libssh2 mbedtls # -# downloaded from git: llvm-svn, libuv, libopenlibm, utf8proc, openspecfun, libgit2, libssh2 +# downloaded from git: llvm-svn, libuv, libopenlibm, utf8proc, libgit2, libssh2 # # there are rules in this file with the . replaced by a % # this is some magic Makefile trick that tells make @@ -79,10 +79,6 @@ DEP_LIBS += openlibm endif endif -ifeq ($(USE_SYSTEM_OPENSPECFUN), 0) -DEP_LIBS += openspecfun -endif - ifeq ($(USE_SYSTEM_DSFMT), 0) DEP_LIBS += dsfmt endif @@ -172,13 +168,12 @@ uninstall: $(addprefix uninstall-, $(DEP_LIBS_STAGED)) cleanall: $(addprefix clean-, $(DEP_LIBS)) distcleanall: $(addprefix distclean-, $(DEP_LIBS)) rm -rf $(build_prefix) -getall: get-llvm get-libuv get-pcre get-openlibm get-openspecfun get-dsfmt get-openblas get-lapack get-suitesparse get-arpack get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-objconv get-mbedtls get-libssh2 get-curl get-libgit2 +getall: get-llvm get-libuv get-pcre get-openlibm get-dsfmt get-openblas get-lapack get-suitesparse get-arpack get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-objconv get-mbedtls get-libssh2 get-curl get-libgit2 include $(SRCDIR)/llvm.mk include $(SRCDIR)/libuv.mk include $(SRCDIR)/pcre.mk include $(SRCDIR)/openlibm.mk -include $(SRCDIR)/openspecfun.mk include $(SRCDIR)/dsfmt.mk include $(SRCDIR)/objconv.mk include $(SRCDIR)/blas.mk diff --git a/deps/openspecfun.mk b/deps/openspecfun.mk deleted file mode 100644 index cd2b58441f918..0000000000000 --- a/deps/openspecfun.mk +++ /dev/null @@ -1,40 +0,0 @@ -## openspecfun ## -OPENSPECFUN_GIT_URL := git://github.com/JuliaLang/openspecfun.git -OPENSPECFUN_TAR_URL = https://api.github.com/repos/JuliaLang/openspecfun/tarball/$1 -$(eval $(call git-external,openspecfun,OPENSPECFUN,,,$(BUILDDIR))) - -# issue 8799 -OPENSPECFUN_CFLAGS := -O3 -std=c99 -ifeq ($(USEICC),1) - OPENSPECFUN_CFLAGS += -fp-model precise -endif - -OPENSPECFUN_FLAGS := ARCH="$(ARCH)" CC="$(CC)" FC="$(FC)" AR="$(AR)" OS="$(OS)" \ - USECLANG=$(USECLANG) USEGCC=$(USEGCC) FFLAGS="$(JFFLAGS)" \ - CFLAGS="$(CFLAGS) $(OPENSPECFUN_CFLAGS)" LDFLAGS="$(LDFLAGS) $(RPATH_ESCAPED_ORIGIN)" - -ifeq ($(USE_SYSTEM_LIBM),0) - OPENSPECFUN_FLAGS += USE_OPENLIBM=1 -$(BUILDDIR)/$(OPENSPECFUN_SRC_DIR)/build-compiled: $(build_prefix)/manifest/openlibm -endif - -$(BUILDDIR)/$(OPENSPECFUN_SRC_DIR)/build-compiled: $(BUILDDIR)/$(OPENSPECFUN_SRC_DIR)/source-extracted - $(MAKE) -C $(dir $<) $(OPENSPECFUN_FLAGS) $(MAKE_COMMON) - echo 1 > $@ - -$(eval $(call staged-install, \ - openspecfun,$$(OPENSPECFUN_SRC_DIR), \ - MAKE_INSTALL,$$(OPENSPECFUN_FLAGS),, \ - $$(INSTALL_NAME_CMD)libopenspecfun.$$(SHLIB_EXT) $$(build_shlibdir)/libopenspecfun.$$(SHLIB_EXT))) - -clean-openspecfun: - -rm $(BUILDDIR)/$(OPENSPECFUN_SRC_DIR)/build-compiled - -$(MAKE) -C $(BUILDDIR)/$(OPENSPECFUN_SRC_DIR) distclean $(OPENSPECFUN_FLAGS) - - -get-openspecfun: $(OPENSPECFUN_SRC_FILE) -extract-openspecfun: $(BUILDDIR)/$(OPENSPECFUN_SRC_DIR)/source-extracted -configure-openspecfun: extract-openspecfun -compile-openspecfun: $(BUILDDIR)/$(OPENSPECFUN_SRC_DIR)/build-compiled -fastcheck-openspecfun: check-openspecfun -check-openspecfun: compile-openspecfun diff --git a/deps/openspecfun.version b/deps/openspecfun.version deleted file mode 100644 index f0df8e91d01d8..0000000000000 --- a/deps/openspecfun.version +++ /dev/null @@ -1,2 +0,0 @@ -OPENSPECFUN_BRANCH=v0.5.3 -OPENSPECFUN_SHA1=39699a1c1824bf88410cabb8a7438af91ea98f4c