diff --git a/Make.inc b/Make.inc index 16e238c6f0683..04151347050b3 100644 --- a/Make.inc +++ b/Make.inc @@ -39,9 +39,6 @@ USE_SYSTEM_LLVM:=0 USE_SYSTEM_LIBUNWIND:=0 DISABLE_LIBUNWIND:=0 USE_SYSTEM_PCRE:=0 -USE_SYSTEM_LIBM:=0 -USE_SYSTEM_OPENLIBM:=0 -UNTRUSTED_SYSTEM_LIBM:=0 USE_SYSTEM_DSFMT:=0 USE_SYSTEM_LIBBLASTRAMPOLINE:=0 USE_SYSTEM_BLAS:=0 @@ -1311,14 +1308,6 @@ LIBLAPACKNAME := liblapack endif endif -ifeq ($(USE_SYSTEM_LIBM), 1) -LIBM := -lm -LIBMNAME := libm -else -LIBM := -lopenlibm -LIBMNAME := libopenlibm -endif - ifeq ($(USE_SYSTEM_LIBUV), 1) LIBUV := $(LOCALBASE)/lib/libuv-julia.a LIBUV_INC := $(LOCALBASE)/include @@ -1402,7 +1391,7 @@ CSL_NEXT_GLIBCXX_VERSION=GLIBCXX_3\.4\.34|GLIBCXX_3\.5\.|GLIBCXX_4\. # Note: we explicitly _do not_ define `CSL` here, since it requires some more # advanced techniques to decide whether it should be installed from a BB source # or not. See `deps/csl.mk` for more detail. -BB_PROJECTS := BLASTRAMPOLINE OPENBLAS LLVM LIBSUITESPARSE OPENLIBM GMP OPENSSL LIBSSH2 NGHTTP2 MPFR CURL LIBGIT2 PCRE LIBUV LIBUNWIND DSFMT OBJCONV ZLIB P7ZIP LLD LIBTRACYCLIENT BOLT MMTK_JULIA +BB_PROJECTS := BLASTRAMPOLINE OPENBLAS LLVM LIBSUITESPARSE GMP OPENSSL LIBSSH2 NGHTTP2 MPFR CURL LIBGIT2 PCRE LIBUV LIBUNWIND DSFMT OBJCONV ZLIB P7ZIP LLD LIBTRACYCLIENT BOLT MMTK_JULIA define SET_BB_DEFAULT # First, check to see if BB is disabled on a global setting ifeq ($$(USE_BINARYBUILDER),0) @@ -1552,7 +1541,6 @@ ifeq ($(ARCH),i686) JLDFLAGS += -Wl,--large-address-aware endif JCPPFLAGS += -D_WIN32_WINNT=0x0502 -UNTRUSTED_SYSTEM_LIBM := 1 # Use hard links for files on windows, rather than soft links # https://stackoverflow.com/questions/3648819/how-to-make-a-symbolic-link-with-cygwin-in-windows-7 # Usage: $(WIN_MAKE_HARD_LINK) @@ -1627,11 +1615,6 @@ USE_BINARYBUILDER_OPENBLAS := 0 USE_BINARYBUILDER_LIBSUITESPARSE := 0 endif -ifeq ($(USE_SYSTEM_LIBM),1) -# If we're using system libm, disable BB OpenLibm -USE_BINARYBUILDER_OPENLIBM := 0 -endif - # Note: we're passing *FLAGS here computed based on your system compiler to # clang. If that causes you problems, you might want to build and/or run @@ -1788,20 +1771,14 @@ endif LIBSTDCXX_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$(private_shlibdir)/$(LIBSTDCXX_NAME)) endif - -# USE_SYSTEM_LIBM and USE_SYSTEM_OPENLIBM causes it to get symlinked into build_private_shlibdir -ifeq ($(USE_SYSTEM_LIBM),1) -LIBM_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_private_shlibdir)/$(LIBMNAME).$(SHLIB_EXT)) -else ifeq ($(USE_SYSTEM_OPENLIBM),1) -LIBM_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_private_shlibdir)/$(LIBMNAME).$(SHLIB_EXT)) -else -LIBM_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_shlibdir)/$(LIBMNAME).$(SHLIB_EXT)) -endif -LIBM_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$(private_shlibdir)/$(LIBMNAME).$(SHLIB_EXT)) +# Symlink system libm +LIBM := -lm +LIBMNAME := libm +# LIBM_BUILD_DEPLIB := $(call dep_lib_path,$(build_libdir),$(build_private_shlibdir)/$(LIBMNAME).$(SHLIB_EXT)) +# LIBM_INSTALL_DEPLIB := $(call dep_lib_path,$(libdir),$(private_shlibdir)/$(LIBMNAME).$(SHLIB_EXT)) # We list: # * libgcc_s, because FreeBSD needs to load ours, not the system one. -# * libopenlibm, because Windows has an untrustworthy libm, and we want to use ours more than theirs # * libstdc++, because while performing `libstdc++` probing we need to # know the path to the bundled `libstdc++` library. # * libjulia-internal, which must always come second-to-last. @@ -1823,7 +1800,6 @@ endef LOADER_BUILD_DEP_LIBS = $(call build_deplibs, \ $(LIBGCC_BUILD_DEPLIB) \ - $(LIBM_BUILD_DEPLIB) \ @$(LIBSTDCXX_BUILD_DEPLIB) \ @$(LIBJULIAINTERNAL_BUILD_DEPLIB) \ @$(LIBJULIACODEGEN_BUILD_DEPLIB) \ @@ -1831,7 +1807,6 @@ LOADER_BUILD_DEP_LIBS = $(call build_deplibs, \ LOADER_DEBUG_BUILD_DEP_LIBS = $(call build_deplibs, \ $(LIBGCC_BUILD_DEPLIB) \ - $(LIBM_BUILD_DEPLIB) \ @$(LIBSTDCXX_BUILD_DEPLIB) \ @$(LIBJULIAINTERNAL_DEBUG_BUILD_DEPLIB) \ @$(LIBJULIACODEGEN_DEBUG_BUILD_DEPLIB) \ @@ -1839,14 +1814,12 @@ LOADER_DEBUG_BUILD_DEP_LIBS = $(call build_deplibs, \ LOADER_INSTALL_DEP_LIBS = $(call build_deplibs, \ $(LIBGCC_INSTALL_DEPLIB) \ - $(LIBM_INSTALL_DEPLIB) \ @$(LIBSTDCXX_INSTALL_DEPLIB) \ @$(LIBJULIAINTERNAL_INSTALL_DEPLIB) \ @$(LIBJULIACODEGEN_INSTALL_DEPLIB) \ ) LOADER_DEBUG_INSTALL_DEP_LIBS = $(call build_deplibs, \ $(LIBGCC_INSTALL_DEPLIB) \ - $(LIBM_INSTALL_DEPLIB) \ @$(LIBSTDCXX_INSTALL_DEPLIB) \ @$(LIBJULIAINTERNAL_DEBUG_INSTALL_DEPLIB) \ @$(LIBJULIACODEGEN_DEBUG_INSTALL_DEPLIB) \ diff --git a/Makefile b/Makefile index b193b3849c6aa..89fc074d0f77f 100644 --- a/Makefile +++ b/Makefile @@ -242,10 +242,6 @@ JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM $(LLVM_SHARED_LIB_NAME) endif JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind -ifeq ($(USE_SYSTEM_LIBM),0) -JL_PRIVATE_LIBS-$(USE_SYSTEM_OPENLIBM) += libopenlibm -endif - JL_PRIVATE_LIBS-$(USE_SYSTEM_BLAS) += $(LIBBLASNAME) ifneq ($(LIBLAPACKNAME),$(LIBBLASNAME)) JL_PRIVATE_LIBS-$(USE_SYSTEM_LAPACK) += $(LIBLAPACKNAME) @@ -314,7 +310,6 @@ endif # We have a single exception; we want 7z.dll to live in private_libexecdir, # not bindir, so that 7z.exe can find it. -mv $(DESTDIR)$(bindir)/7z.dll $(DESTDIR)$(private_libexecdir)/ - -$(INSTALL_M) $(build_bindir)/libopenlibm.dll.a $(DESTDIR)$(libdir)/ -$(INSTALL_M) $(build_libdir)/libssp.dll.a $(DESTDIR)$(libdir)/ else diff --git a/THIRDPARTY.md b/THIRDPARTY.md index f3f59ca4ff3f7..cc5309464c7bd 100644 --- a/THIRDPARTY.md +++ b/THIRDPARTY.md @@ -31,7 +31,6 @@ and optionally: Julia's `stdlib` uses the following external libraries, which have their own licenses: - [DSFMT](https://github.com/MersenneTwister-Lab/dSFMT/blob/master/LICENSE.txt) [BSD-3] -- [OPENLIBM](https://github.com/JuliaMath/openlibm/blob/master/LICENSE.md) [MIT, BSD-2, ISC] - [GMP](https://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/base/Makefile b/base/Makefile index 09f79e5b98611..a979566db75a7 100644 --- a/base/Makefile +++ b/base/Makefile @@ -225,11 +225,7 @@ $(build_depsbindir)/dsymutil$(EXE): # the following excludes: libuv.a, libutf8proc.a -ifneq ($(USE_SYSTEM_LIBM),0) -$(eval $(call symlink_system_library,LIBM,$(LIBMNAME))) -else ifneq ($(USE_SYSTEM_OPENLIBM),0) -$(eval $(call symlink_system_library,OPENLIBM,$(LIBMNAME))) -endif +# $(eval $(call symlink_system_library,LIBM,$(LIBMNAME))) # On macOS, libgcc_s has soversion 1.1 always on aarch64 and only for GCC 12+ # (-> libgfortran 5) on x86_64 diff --git a/base/linking.jl b/base/linking.jl index 953d80c82cc42..f4645a7c8fea0 100644 --- a/base/linking.jl +++ b/base/linking.jl @@ -155,7 +155,9 @@ function link_image_cmd(path, out) LIBS = is_debug() ? ("-ljulia-debug", "-ljulia-internal-debug") : ("-ljulia", "-ljulia-internal") @static if Sys.iswindows() - LIBS = (LIBS..., "-lopenlibm", "-lssp", "-lgcc_s", "-lgcc", "-lmsvcrt") + LIBS = (LIBS..., "-lssp", "-lgcc_s", "-lgcc") + # libm + LIBS = (LIBS..., "-lmingw32", "-lmingwex", "-lmsvcrt") end V = VERBOSE[] ? "--verbose" : "" diff --git a/contrib/julia-config.jl b/contrib/julia-config.jl index 8b1eb55cbe4f4..4231b7db967b3 100755 --- a/contrib/julia-config.jl +++ b/contrib/julia-config.jl @@ -69,7 +69,7 @@ function ldlibs(doframework) if Sys.isunix() return "-L$(shell_escape(private_libDir())) -Wl,-rpath,$(shell_escape(libDir())) -Wl,-rpath,$(shell_escape(private_libDir())) -l$libname" else - return "-l$libname -lopenlibm" + return "-l$libname -lm" end end diff --git a/deps/Makefile b/deps/Makefile index 396b1021c2ddd..6ccc29af01ff2 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -23,10 +23,10 @@ BUILDDIR := $(BUILDDIR)$(MAYBE_HOST) # if you are adding a new target, it can help to copy an similar, existing target # # autoconf configure-driven scripts: pcre unwind gmp mpfr patchelf libuv curl openssl -# custom Makefile rules: openlibm dsfmt libsuitesparse lapack blastrampoline openblas utf8proc objconv libwhich +# custom Makefile rules: dsfmt libsuitesparse lapack blastrampoline openblas utf8proc objconv libwhich # CMake libs: llvm llvmunwind libgit2 libssh2 libtracyclient # -# downloadable via git: llvm-svn, libuv, libopenlibm, utf8proc, libgit2, libssh2, libtracyclient, mmtk_julia +# downloadable via git: llvm-svn, libuv, utf8proc, libgit2, libssh2, libtracyclient, mmtk_julia # # to debug 'define' rules, replace eval at the usage site with info or error @@ -84,12 +84,6 @@ PATCHELF_BIN := $(CUSTOM_LD_LIBRARY_PATH) $(PATCHELF) ## USE_SYSTEM_LIBS options -ifeq ($(USE_SYSTEM_OPENLIBM), 0) -ifeq ($(USE_SYSTEM_LIBM), 0) -DEP_LIBS += openlibm -endif -endif - ifeq ($(USE_SYSTEM_DSFMT), 0) DEP_LIBS += dsfmt endif @@ -203,7 +197,7 @@ DEP_LIBS_STAGED := $(DEP_LIBS) # list all targets DEP_LIBS_STAGED_ALL := llvm llvm-tools clang llvmunwind unwind libuv pcre \ - openlibm dsfmt blastrampoline openblas lapack gmp mpfr patchelf utf8proc \ + dsfmt blastrampoline openblas lapack gmp mpfr patchelf utf8proc \ objconv openssl libssh2 nghttp2 curl libgit2 libwhich zlib p7zip csl \ sanitizers libsuitesparse lld libtracyclient ittapi nvtx JuliaSyntax \ terminfo mmtk_julia @@ -248,7 +242,6 @@ include $(SRCDIR)/nvtx.mk include $(SRCDIR)/llvm.mk include $(SRCDIR)/libuv.mk include $(SRCDIR)/pcre.mk -include $(SRCDIR)/openlibm.mk include $(SRCDIR)/dsfmt.mk include $(SRCDIR)/objconv.mk include $(SRCDIR)/blastrampoline.mk diff --git a/deps/checksums/openlibm b/deps/checksums/openlibm deleted file mode 100644 index cad61fd42cf94..0000000000000 --- a/deps/checksums/openlibm +++ /dev/null @@ -1,38 +0,0 @@ -OpenLibm.v0.8.5+0.aarch64-apple-darwin.tar.gz/md5/5fcbd746e90712e396e76dc4e76724d0 -OpenLibm.v0.8.5+0.aarch64-apple-darwin.tar.gz/sha512/f4ac2bc38bdc723384b67119daa2974fb43da34b2e45cea2029ea48f92c84c4cad6dfb43521b09a1e89ddf8c5b8cc22a38fa4b78ba39ac7524fd6bd1ba897aa9 -OpenLibm.v0.8.5+0.aarch64-linux-gnu.tar.gz/md5/4d1b4cd566805b5179c5ecdd060da473 -OpenLibm.v0.8.5+0.aarch64-linux-gnu.tar.gz/sha512/a9fe1a3d2e3898c017eb8615b2f3dbb514995ff041ac964c931c99c60d8cfe4eab7563a9cd65058f42f83c812f33d998573a7c5cc56a2e3960a4657e459ed321 -OpenLibm.v0.8.5+0.aarch64-linux-musl.tar.gz/md5/413be59af62b3ce0ebafeca093e3179e -OpenLibm.v0.8.5+0.aarch64-linux-musl.tar.gz/sha512/7bd76373e047ba854066af61f1c56b2e3a4d28c266228d7b30f596eadbaec52b070548ae60d41840c425ad5d0829c6c0cdaf326f2f160ed7508877ab5ec1a4b1 -OpenLibm.v0.8.5+0.aarch64-unknown-freebsd.tar.gz/md5/80736f9022c695eb1198e0b591a8fa63 -OpenLibm.v0.8.5+0.aarch64-unknown-freebsd.tar.gz/sha512/c633644578265e7ccc259ceb0442457b8c09290b4861b66c86dd6be7b30c4e394e70728142798097d6fe3afcfb4d9d1bd7ef58513fe8eed5684a4fba51bf185a -OpenLibm.v0.8.5+0.armv6l-linux-gnueabihf.tar.gz/md5/8fe0900a318393a290907f016bc654c3 -OpenLibm.v0.8.5+0.armv6l-linux-gnueabihf.tar.gz/sha512/167100a2d46e68462ef9a66915ced881d6358f05337bd38f2f77176f41cfd5be37e3c5226dd5d7d59147bd3e1aa7fb0893c1c81e9516134d3ab663b5752c4969 -OpenLibm.v0.8.5+0.armv6l-linux-musleabihf.tar.gz/md5/e8566719387984604f19dc5f9354a783 -OpenLibm.v0.8.5+0.armv6l-linux-musleabihf.tar.gz/sha512/532dd2b764fa15f7a838fb14cccafd2d4fe8fa4a132ea8394479a719c7aee11442f1b8a18e5d4a26ca820fa696d9d2afc7f5ec63dd96fa3b6763cea72b7026c3 -OpenLibm.v0.8.5+0.armv7l-linux-gnueabihf.tar.gz/md5/8fe0900a318393a290907f016bc654c3 -OpenLibm.v0.8.5+0.armv7l-linux-gnueabihf.tar.gz/sha512/167100a2d46e68462ef9a66915ced881d6358f05337bd38f2f77176f41cfd5be37e3c5226dd5d7d59147bd3e1aa7fb0893c1c81e9516134d3ab663b5752c4969 -OpenLibm.v0.8.5+0.armv7l-linux-musleabihf.tar.gz/md5/e8566719387984604f19dc5f9354a783 -OpenLibm.v0.8.5+0.armv7l-linux-musleabihf.tar.gz/sha512/532dd2b764fa15f7a838fb14cccafd2d4fe8fa4a132ea8394479a719c7aee11442f1b8a18e5d4a26ca820fa696d9d2afc7f5ec63dd96fa3b6763cea72b7026c3 -OpenLibm.v0.8.5+0.i686-linux-gnu.tar.gz/md5/9580d34e69d6067427b9c33db631cfd3 -OpenLibm.v0.8.5+0.i686-linux-gnu.tar.gz/sha512/46934f82791f69ac5f5da0dab7dcc6e3e9a4577c3bb529e9c0519c38f140c7b54517c55ff3579cd4ed4df68f0863e006aa98e51873f1dab452ce9f853996429a -OpenLibm.v0.8.5+0.i686-linux-musl.tar.gz/md5/66bfc9611d04c5d609e7824cb076d24b -OpenLibm.v0.8.5+0.i686-linux-musl.tar.gz/sha512/1bda2395d44c22aba3d1aab2b08ae06f763d3755037d454aa73f8e8134289a1ab5d65862bbc5a17a7a6b9f2918eb87e926b21527ddc4471e2ea20d605ba14e2d -OpenLibm.v0.8.5+0.i686-w64-mingw32.tar.gz/md5/0e97311b2f08b57d79085635f01ccced -OpenLibm.v0.8.5+0.i686-w64-mingw32.tar.gz/sha512/ae061ea406c06969332af58ed6fdfce2825326d771d30274d90775a1709b0361b7ca1dc7e6b0b76b93e4dd7a81d1842510a2c835251ee0a0978d6c839d96070e -OpenLibm.v0.8.5+0.powerpc64le-linux-gnu.tar.gz/md5/8ecfff7db76eee29591a654871e88855 -OpenLibm.v0.8.5+0.powerpc64le-linux-gnu.tar.gz/sha512/af03993b162316dd581f6ba5d1c23bca4c26cb22356ab229f326c42e111acbdf7ef45c9ad05894fe2d68794a63670cf89888653f788192a38b9255ce4bc72e28 -OpenLibm.v0.8.5+0.riscv64-linux-gnu.tar.gz/md5/69e06de135940666791c984941e9c4ad -OpenLibm.v0.8.5+0.riscv64-linux-gnu.tar.gz/sha512/2ac84deb7eb80a6a6237eff6fe861fd2907b3c95d1a76366dea062f3f35228dbc67aa40bd982e646508b4ff7cb6ef029111e2c0325039e60679800d6c6886be5 -OpenLibm.v0.8.5+0.x86_64-apple-darwin.tar.gz/md5/bd671ab9fe01835cab3e42e7cfa790fb -OpenLibm.v0.8.5+0.x86_64-apple-darwin.tar.gz/sha512/8bf2e66df17effc1e8778453904ffc20127f785bf096873289e8fdd8b17069ca844faffbd9f7621b87a7cb0a0051037eb9402360f2a03cf8794fbac8f7719777 -OpenLibm.v0.8.5+0.x86_64-linux-gnu.tar.gz/md5/df7fab134fbce3b625e9a82376f23e79 -OpenLibm.v0.8.5+0.x86_64-linux-gnu.tar.gz/sha512/64d07434e0db79833f84a2225838456eb9532617d377a776b3a534a908b1673bc4f890903f95350e4045e05c29539d993a18ecadeb879761e279ec3947f74390 -OpenLibm.v0.8.5+0.x86_64-linux-musl.tar.gz/md5/ebef6bb7651d116b397e035f39adfb1b -OpenLibm.v0.8.5+0.x86_64-linux-musl.tar.gz/sha512/de9036073e5dba2721b4119ecbbd21a0c9f75b65aff9392b7e88e464da35b97135d62404477441d0dadd3a2f8d49f1082291b35bf4b626fb1096d36d401980bf -OpenLibm.v0.8.5+0.x86_64-unknown-freebsd.tar.gz/md5/1115497539f00a37af18aa6516d52268 -OpenLibm.v0.8.5+0.x86_64-unknown-freebsd.tar.gz/sha512/71a2c06d141b3671fd220f2d88d72e845848b6d2b08a7b3a6c4bb1d5cc27cc450e1e681647bb583e7ed6375d5a70748401e95e61dc95d7808f33a9aa06755337 -OpenLibm.v0.8.5+0.x86_64-w64-mingw32.tar.gz/md5/b6b5335f4c83f7ebf0f74cf753358f00 -OpenLibm.v0.8.5+0.x86_64-w64-mingw32.tar.gz/sha512/e8351ddda305b757f337bb7ea26c441968843b23861676f0bdd7bcf83bb3969af790d4112307d3204eb87fac044dda9be305f349700ebe9ba2bfe3d6df24fde8 -openlibm-db24332879c320606c37f77fea165e6ecb49153c.tar.gz/md5/2375dd448e77e59152442a4b33abda01 -openlibm-db24332879c320606c37f77fea165e6ecb49153c.tar.gz/sha512/36054e7051990d04913f054a0542e2e104273f61308e9a442c2dab3dd392d40c03f264fbeca93c4296218eed85dad71028989a225088254013d752f4407d57ef diff --git a/deps/csl.mk b/deps/csl.mk index fef950aa41621..5f3b911891e76 100644 --- a/deps/csl.mk +++ b/deps/csl.mk @@ -125,8 +125,22 @@ install-csl: cp -a $(build_libdir)/gcc/$(BB_TRIPLET)/$(GCC_VERSION)/libmsvcrt.a $(build_private_libdir)/ cp -a $(build_libdir)/gcc/$(BB_TRIPLET)/$(GCC_VERSION)/libssp.dll.a $(build_private_libdir)/ cp -a $(build_libdir)/gcc/$(BB_TRIPLET)/$(GCC_VERSION)/libssp.dll.a $(build_libdir)/ +ifeq ($(ARCH),x86_64) +# libmingw32: mingw_raise_matherr +# libmingwex: ldexp,log2l,exp2l,powi + -cp -a /mingw64/lib/libmsvcrt.a $(build_private_libdir)/ + -cp -a /mingw64/lib/libmingw32.a $(build_private_libdir)/ + -cp -a /mingw64/lib/libmingwex.a $(build_private_libdir)/ +else ifeq (1,$(ISX86)) +# For i686 we are using niXman/mingw-builds-binaries, i686-12.2.0-release-posix-sjlj-rt_v10-rev0.7z +# https://github.com/JuliaCI/rootfs-images/blob/e7be8086ff1285b0f333ca72884977d01aed0e1f/windows/package-i686/Dockerfile#L28C107-L28C152 + -cp -a /mingw32/i686-w64-mingw32/lib/libmsvcrt.a $(build_private_libdir)/ + -cp -a /mingw32/i686-w64-mingw32/lib/libmingw32.a $(build_private_libdir)/ + -cp -a /mingw32/i686-w64-mingw32/lib/libmingwex.a $(build_private_libdir)/ +endif # ifeq ($(ARCH),x86_64) +endif # ifeq ($(OS),WINNT) endif -endif + ifeq ($(OS),WINNT) uninstall-csl: uninstall-gcc-libraries uninstall-gcc-libraries: diff --git a/deps/openlibm.mk b/deps/openlibm.mk deleted file mode 100644 index f99cdade47b91..0000000000000 --- a/deps/openlibm.mk +++ /dev/null @@ -1,34 +0,0 @@ -## openlibm ## -ifneq ($(USE_BINARYBUILDER_OPENLIBM), 1) -OPENLIBM_GIT_URL := https://github.com/JuliaMath/openlibm.git -OPENLIBM_TAR_URL = https://api.github.com/repos/JuliaMath/openlibm/tarball/$1 -$(eval $(call git-external,openlibm,OPENLIBM,,,$(BUILDDIR))) - -OPENLIBM_FLAGS := ARCH="$(ARCH)" REAL_ARCH="$(MARCH)" CC="$(CC)" FC="$(FC)" AR="$(AR)" OS="$(OS)" USECLANG=$(USECLANG) USEGCC=$(USEGCC) - -$(BUILDDIR)/$(OPENLIBM_SRC_DIR)/build-compiled: $(BUILDDIR)/$(OPENLIBM_SRC_DIR)/source-extracted - $(MAKE) -C $(dir $<) $(OPENLIBM_FLAGS) $(MAKE_COMMON) - echo 1 > $@ - -$(eval $(call staged-install, \ - openlibm,$$(OPENLIBM_SRC_DIR), \ - MAKE_INSTALL,$$(OPENLIBM_FLAGS),, \ - $(INSTALL_NAME_CMD)libopenlibm.$(SHLIB_EXT) $(build_shlibdir)/libopenlibm.$(SHLIB_EXT))) - -clean-openlibm: - -rm -f $(BUILDDIR)/$(OPENLIBM_SRC_DIR)/build-compiled $(build_libdir)/libopenlibm.a - -$(MAKE) -C $(BUILDDIR)/$(OPENLIBM_SRC_DIR) distclean $(OPENLIBM_FLAGS) - - -get-openlibm: $(OPENLIBM_SRC_FILE) -extract-openlibm: $(BUILDDIR)/$(OPENLIBM_SRC_DIR)/source-extracted -configure-openlibm: extract-openlibm -compile-openlibm: $(BUILDDIR)/$(OPENLIBM_SRC_DIR)/build-compiled -fastcheck-openlibm: check-openlibm -check-openlibm: compile-openlibm - -else # USE_BINARYBUILDER_OPENLIBM - -$(eval $(call bb-install,openlibm,OPENLIBM,false)) - -endif diff --git a/deps/openlibm.version b/deps/openlibm.version deleted file mode 100644 index 788701a66301b..0000000000000 --- a/deps/openlibm.version +++ /dev/null @@ -1,9 +0,0 @@ -# -*- makefile -*- - -## jll artifact -OPENLIBM_JLL_NAME := OpenLibm - -## source build -OPENLIBM_VER := 0.8.5 -OPENLIBM_BRANCH=v0.8.5 -OPENLIBM_SHA1=db24332879c320606c37f77fea165e6ecb49153c diff --git a/doc/src/devdocs/build/build.md b/doc/src/devdocs/build/build.md index 5fe038959edf0..61cc19136175c 100644 --- a/doc/src/devdocs/build/build.md +++ b/doc/src/devdocs/build/build.md @@ -183,7 +183,6 @@ uses are listed in [`deps/$(libname).version`](https://github.com/JuliaLang/juli - **[LLVM]** (15.0 + [patches](https://github.com/JuliaLang/llvm-project/tree/julia-release/15.x)) — compiler infrastructure (see [note below](#llvm)). - **[FemtoLisp]** — packaged with Julia source, and used to implement the compiler front-end. - **[libuv]** (custom fork) — portable, high-performance event-based I/O library. -- **[OpenLibm]** — portable libm library containing elementary math functions. - **[DSFMT]** — fast Mersenne Twister pseudorandom number generator library. - **[OpenBLAS]** — fast, open, and maintained [basic linear algebra subprograms (BLAS)] - **[LAPACK]** — 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. @@ -213,7 +212,6 @@ uses are listed in [`deps/$(libname).version`](https://github.com/JuliaLang/juli [fetch]: https://www.freebsd.org/cgi/man.cgi?fetch(1) [perl]: https://www.perl.org [cmake]: https://www.cmake.org -[OpenLibm]: https://github.com/JuliaLang/openlibm [DSFMT]: https://github.com/MersenneTwister-Lab/dSFMT [OpenBLAS]: https://github.com/xianyi/OpenBLAS [LAPACK]: https://www.netlib.org/lapack diff --git a/doc/src/manual/embedding.md b/doc/src/manual/embedding.md index f578e10764101..b617d8362b8d8 100644 --- a/doc/src/manual/embedding.md +++ b/doc/src/manual/embedding.md @@ -179,7 +179,7 @@ to the Julia installation before proceeding. Using the project Properties dialog, go to `C/C++` | `General` and add `$(JULIA_DIR)\include\julia\` to the Additional Include Directories property. Then, go to the `Linker` | `General` section and add `$(JULIA_DIR)\lib` -to the Additional Library Directories property. Finally, under `Linker` | `Input`, add `libjulia.dll.a;libopenlibm.dll.a;` +to the Additional Library Directories property. Finally, under `Linker` | `Input`, add `libjulia.dll.a;` to the list of libraries. At this point, the project should build and run. diff --git a/julia.spdx.json b/julia.spdx.json index 0d7ab1df94688..524368ea43495 100644 --- a/julia.spdx.json +++ b/julia.spdx.json @@ -170,18 +170,6 @@ "copyrightText": "Copyright (c) 2007, 2008, 2009 Mutsuo Saito, Makoto Matsumoto and Hiroshima University. Copyright (c) 2011, 2002 Mutsuo Saito, Makoto Matsumoto, Hiroshima University and The University of Tokyo.", "summary": "Double precision SIMD-oriented Fast Mersenne Twister" }, - { - "name": "OpenLibm", - "SPDXID": "SPDXRef-OpenLibm", - "downloadLocation": "git+https://github.com/JuliaMath/openlibm.git", - "filesAnalyzed": false, - "homepage": "https://julialang.org", - "sourceInfo": "The git hash of the version in use can be found in the file deps/openlibm.version", - "licenseConcluded": "MIT", - "licenseDeclared": "MIT AND BSD-2-Clause-FreeBSD AND ISC", - "copyrightText": "Copyright (c) 2011-14 The Julia Project. Copyright (c) 2008 Stephen L. Moshier steve@moshier.net Copyright 1992-2011 The FreeBSD Project. All rights reserved. Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.", - "summary": "High quality system independent, portable, open source libm implementation" - }, { "name": "GMP", "SPDXID": "SPDXRef-GMP", @@ -534,11 +522,6 @@ "relationshipType": "BUILD_DEPENDENCY_OF", "relatedSpdxElement": "SPDXRef-JuliaMain" }, - { - "spdxElementId": "SPDXRef-OpenLibm", - "relationshipType": "BUILD_DEPENDENCY_OF", - "relatedSpdxElement": "SPDXRef-JuliaMain" - }, { "spdxElementId": "SPDXRef-GMP", "relationshipType": "BUILD_DEPENDENCY_OF", diff --git a/stdlib/Makefile b/stdlib/Makefile index 3975f24b7ae3b..0e7e3054e7860 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -18,7 +18,7 @@ DIRS := $(build_datarootdir)/julia/stdlib/$(VERSDIR) $(build_prefix)/manifest/$( $(foreach dir,$(DIRS),$(eval $(call dir_target,$(dir)))) JLLS = DSFMT GMP CURL LIBGIT2 LLVM LIBSSH2 LIBUV OPENSSL MPFR NGHTTP2 \ - BLASTRAMPOLINE OPENBLAS OPENLIBM P7ZIP PCRE LIBSUITESPARSE ZLIB \ + BLASTRAMPOLINE OPENBLAS P7ZIP PCRE LIBSUITESPARSE ZLIB \ LLVMUNWIND CSL UNWIND LLD # Initialize this with JLLs that aren't in "deps/$(LibName).version" diff --git a/stdlib/Manifest.toml b/stdlib/Manifest.toml index f029a210320cc..e4ad568094b91 100644 --- a/stdlib/Manifest.toml +++ b/stdlib/Manifest.toml @@ -160,11 +160,6 @@ deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" version = "0.3.28+3" -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.5+0" - [[deps.OpenSSL_jll]] deps = ["Artifacts", "Libdl"] uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" diff --git a/stdlib/OpenLibm_jll/Project.toml b/stdlib/OpenLibm_jll/Project.toml deleted file mode 100644 index 431528ee3f400..0000000000000 --- a/stdlib/OpenLibm_jll/Project.toml +++ /dev/null @@ -1,16 +0,0 @@ -name = "OpenLibm_jll" -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.5+0" - -[deps] -Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" -Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[compat] -julia = "1.0" - -[extras] -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[targets] -test = ["Test"] diff --git a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl b/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl deleted file mode 100644 index 297cd25512894..0000000000000 --- a/stdlib/OpenLibm_jll/src/OpenLibm_jll.jl +++ /dev/null @@ -1,44 +0,0 @@ -# This file is a part of Julia. License is MIT: https://julialang.org/license - -## dummy stub for https://github.com/JuliaBinaryWrappers/OpenLibm_jll.jl -baremodule OpenLibm_jll -using Base, Libdl - -const PATH_list = String[] -const LIBPATH_list = String[] - -export libopenlibm - -# These get calculated in __init__() -const PATH = Ref("") -const LIBPATH = Ref("") -artifact_dir::String = "" -libopenlibm_handle::Ptr{Cvoid} = C_NULL -libopenlibm_path::String = "" - -if Sys.iswindows() - const libopenlibm = "libopenlibm.dll" -elseif Sys.isapple() - const libopenlibm = "@rpath/libopenlibm.4.dylib" -else - const libopenlibm = "libopenlibm.so.4" -end - -function __init__() - global libopenlibm_handle = dlopen(libopenlibm) - global libopenlibm_path = dlpath(libopenlibm_handle) - global artifact_dir = dirname(Sys.BINDIR) - LIBPATH[] = dirname(libopenlibm_path) - push!(LIBPATH_list, LIBPATH[]) -end - -# JLLWrappers API compatibility shims. Note that not all of these will really make sense. -# For instance, `find_artifact_dir()` won't actually be the artifact directory, because -# there isn't one. It instead returns the overall Julia prefix. -is_available() = true -find_artifact_dir() = artifact_dir -dev_jll() = error("stdlib JLLs cannot be dev'ed") -best_wrapper = nothing -get_libopenlibm_path() = libopenlibm_path - -end # module OpenLibm_jll diff --git a/stdlib/OpenLibm_jll/test/runtests.jl b/stdlib/OpenLibm_jll/test/runtests.jl deleted file mode 100644 index 83603a50a5292..0000000000000 --- a/stdlib/OpenLibm_jll/test/runtests.jl +++ /dev/null @@ -1,7 +0,0 @@ -# This file is a part of Julia. License is MIT: https://julialang.org/license - -using Test, Libdl, OpenLibm_jll - -@testset "OpenLibm_jll" begin - @test ccall((:isopenlibm, libopenlibm), Cint, ()) == 1 -end diff --git a/stdlib/Project.toml b/stdlib/Project.toml index 92996cf017d0d..0c189832394d4 100644 --- a/stdlib/Project.toml +++ b/stdlib/Project.toml @@ -32,7 +32,6 @@ Mmap = "a63ad114-7e13-5084-954f-fe012c677804" MozillaCACerts_jll = "14a3606d-f60d-562e-9121-12d972cd8159" NetworkOptions = "ca575930-c2e3-43a9-ace4-1e988b2c1908" OpenBLAS_jll = "4536629a-c528-5b80-bd46-f80d51c5b363" -OpenLibm_jll = "05823500-19ac-5b8b-9628-191a04bc5112" OpenSSL_jll = "458c3c95-2e84-50aa-8efc-19380b2a3a95" PCRE2_jll = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" diff --git a/stdlib/stdlib.mk b/stdlib/stdlib.mk index 006b7a276a3b3..a637524c96382 100644 --- a/stdlib/stdlib.mk +++ b/stdlib/stdlib.mk @@ -9,7 +9,7 @@ INDEPENDENT_STDLIBS := \ SparseArrays Statistics StyledStrings SuiteSparse_jll Tar Test TOML Unicode UUIDs \ dSFMT_jll GMP_jll libLLVM_jll LLD_jll LLVMLibUnwind_jll LibUnwind_jll LibUV_jll \ LibCURL_jll LibSSH2_jll LibGit2_jll nghttp2_jll MozillaCACerts_jll \ - MPFR_jll OpenLibm_jll OpenSSL_jll PCRE2_jll p7zip_jll Zlib_jll + MPFR_jll OpenSSL_jll PCRE2_jll p7zip_jll Zlib_jll STDLIBS := $(STDLIBS_WITHIN_SYSIMG) $(INDEPENDENT_STDLIBS) VERSDIR := v$(shell cut -d. -f1-2 < $(JULIAHOME)/VERSION)