diff options
-rw-r--r-- | Build/source/doc/README.solaris | 118 | ||||
-rwxr-xr-x | Master/bin/i386-solaris/asy | bin | 9024264 -> 5320244 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/asy | bin | 0 -> 5361600 bytes | |||
l--------- | Master/bin/sparc-solaris/xasy | 1 | ||||
-rwxr-xr-x | Master/bin/x86_64-solaris/asy | bin | 10296896 -> 5551264 bytes | |||
-rw-r--r-- | Master/tlpkg/tlpsrc/asymptote.tlpsrc | 2 |
6 files changed, 120 insertions, 1 deletions
diff --git a/Build/source/doc/README.solaris b/Build/source/doc/README.solaris index 6a2e1c7cd2f..9a96a206466 100644 --- a/Build/source/doc/README.solaris +++ b/Build/source/doc/README.solaris @@ -116,6 +116,67 @@ libc.so - SUNW_1.22 SUNWprivate_1.1 $ADDVERS=SUNW_1.22; If users need binaries to run on even older systems, we can target what is desired by changing the map file. +Building asymptote +================== + +Asymptote has been built with the following flags: + +export CC=/opt/csw/bin/gcc-5.2 +export CXX=/opt/csw/bin/g++-5.2 +./configure --prefix=/tmp/asyinst --enable-texlive-build \ + --disable-fftw --disable-offscreen \ + --disable-gl --disable-gsl --disable-readline + +Even though GL, GSL and readline should generally not be disabled, +the resulting binaries would not be portable enough otherwise. + +Because a newer gcc compiler was used we had to link statically against stdlib. +In the last command that builds the asy binary the following part: + -lnsl -lrt -lz -lm gc-7.4.2/.libs/libgc.a +was replaced by: + gc-7.4.2/.libs/libgc.a -nodefaultlibs -Wl,-Bstatic -lstdc++ \ + -Wl,-Bdynamic -lnsl -lrt -lz -lm -lgcc_eh -lgcc -lc + +The resulting binary depends on: + +> pvs asy + libnsl.so.1 (SUNW_0.7); + librt.so.1 (SUNW_1.2); + libm.so.2 (SUNW_1.2); + libc.so.1 (SUNW_1.22, SUNWprivate_1.1); +> ldd asy + libnsl.so.1 => /lib/libnsl.so.1 + librt.so.1 => /lib/librt.so.1 + libz.so.1 => /usr/lib/libz.so.1 + libm.so.2 => /lib/libm.so.2 + libc.so.1 => /lib/libc.so.1 + libmp.so.2 => /lib/libmp.so.2 + libmd.so.1 => /lib/libmd.so.1 + libscf.so.1 => /lib/libscf.so.1 + libaio.so.1 => /lib/libaio.so.1 + libdoor.so.1 => /lib/libdoor.so.1 + libuutil.so.1 => /lib/libuutil.so.1 + libgen.so.1 => /lib/libgen.so.1 + +Additional notes: + +* gc-7.4.2 doesn't support sparc properly, so the sources for sparc were fetched from + https://github.com/ivmai/bdwgc/tree/release-7_4 + and put into gc-7.4.2 + Running ./autogen.sh was needed before proceeding + +* Workarounds were needed for: + * https://github.com/vectorgraphics/asymptote/issues/19 + CC and CXX env variables are not respected when building GC + * https://github.com/vectorgraphics/asymptote/issues/20 + Provide a configure-time option to disable sigsegv + * https://github.com/vectorgraphics/asymptote/pull/21 + Makefile.in: replace 'test ! -e' => 'test ! -s' + * https://github.com/vectorgraphics/asymptote/issues/22 + Wrong expansion of revision in Bourne Shell + +* Patches used are listed below. + Building texlive ================ @@ -125,3 +186,60 @@ Additional settings were needed to compile TeX Live with gcc 5.2: The '--without-iconv' makes sure to avoid linking against libiconv which is not available on SunOS by default. + + +Patches for Asymptote +===================== + +--- Makefile.in (revision 40918) ++++ Makefile.in (working copy) +@@ -114,7 +114,7 @@ + fi + + version: $(GCLIB) $(FILES:=.o) +- if test ! -e revision.cc -o "$(revision)" != "$(last)"; then \ ++ if test ! -s revision.cc -o "$(revision)" != "$(last)"; then \ + echo $(REVISION)\"$(revision)\"\; > revision.cc; \ + fi + $(CXX) $(OPTS) $(INCL) -o revision.o -c revision.cc; +@@ -160,7 +160,7 @@ + mv gc-7.2 gc-7.2d; \ + fi + cd $(GC) && \ +- ./configure $(GCOPTIONS); \ ++ ./configure CC="$(CC)" CXX="$(CXX)" $(GCOPTIONS); \ + $(MAKE) check + + $(GCPPLIB): $(GCLIB) +--- configure.ac (revision 40918) ++++ configure.ac (working copy) +@@ -223,15 +223,15 @@ + AC_SUBST(OPTIONS) + + # Checks for libraries. +-AC_CHECK_LIB([ncurses], [setupterm], [AC_DEFINE(HAVE_LIBCURSES) +- LIBS=$LIBS"-lncurses "], +- AC_CHECK_LIB([curses], [setupterm])) ++#AC_CHECK_LIB([ncurses], [setupterm], [AC_DEFINE(HAVE_LIBCURSES) ++# LIBS=$LIBS"-lncurses "], ++# AC_CHECK_LIB([curses], [setupterm])) + AC_CHECK_LIB([m], [sqrt],, + AC_MSG_ERROR([*** Please install libm on your system ***])) + AC_CHECK_LIB([z], [deflate],, + AC_MSG_ERROR([*** Please install libz or zlib-devel on your system ***])) + AX_PTHREAD +-AC_CHECK_LIB([sigsegv], [stackoverflow_install_handler]) ++#AC_CHECK_LIB([sigsegv], [stackoverflow_install_handler]) + AC_CHECK_LIB([rt], [sched_yield]) + + AC_ARG_ENABLE(readline, +@@ -254,7 +254,7 @@ + # Checks for header files. + AC_HEADER_SYS_WAIT + AC_CHECK_HEADERS([fenv.h stddef.h libintl.h]) +-AC_CHECK_HEADERS([ncurses/curses.h ncurses.h curses.h], [break]) ++#AC_CHECK_HEADERS([ncurses/curses.h ncurses.h curses.h], [break]) + AC_CHECK_HEADERS(fpu_control.h) + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include "xstream.h"])], + diff --git a/Master/bin/i386-solaris/asy b/Master/bin/i386-solaris/asy Binary files differindex 5b1b726ee11..a2dcbb78ce6 100755 --- a/Master/bin/i386-solaris/asy +++ b/Master/bin/i386-solaris/asy diff --git a/Master/bin/sparc-solaris/asy b/Master/bin/sparc-solaris/asy Binary files differnew file mode 100755 index 00000000000..c3dd28d95f5 --- /dev/null +++ b/Master/bin/sparc-solaris/asy diff --git a/Master/bin/sparc-solaris/xasy b/Master/bin/sparc-solaris/xasy new file mode 120000 index 00000000000..85a08a8012a --- /dev/null +++ b/Master/bin/sparc-solaris/xasy @@ -0,0 +1 @@ +../../texmf-dist/asymptote/GUI/xasy.py
\ No newline at end of file diff --git a/Master/bin/x86_64-solaris/asy b/Master/bin/x86_64-solaris/asy Binary files differindex 50f8caa0d60..78ca58eefa2 100755 --- a/Master/bin/x86_64-solaris/asy +++ b/Master/bin/x86_64-solaris/asy diff --git a/Master/tlpkg/tlpsrc/asymptote.tlpsrc b/Master/tlpkg/tlpsrc/asymptote.tlpsrc index 770f21e18fd..946eeadd0b0 100644 --- a/Master/tlpkg/tlpsrc/asymptote.tlpsrc +++ b/Master/tlpkg/tlpsrc/asymptote.tlpsrc @@ -1,7 +1,7 @@ category TLCore # binpattern f/!\ -amd64-freebsd,amd64-netbsd,i386-freebsd,i386-netbsd,sparc-solaris\ +amd64-freebsd,amd64-netbsd,i386-freebsd,i386-netbsd\ bin/${ARCH}/*asy # binpattern d/win32 tlpkg/${PKGNAME} |