summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/doc/README.solaris118
-rwxr-xr-xMaster/bin/i386-solaris/asybin9024264 -> 5320244 bytes
-rwxr-xr-xMaster/bin/sparc-solaris/asybin0 -> 5361600 bytes
l---------Master/bin/sparc-solaris/xasy1
-rwxr-xr-xMaster/bin/x86_64-solaris/asybin10296896 -> 5551264 bytes
-rw-r--r--Master/tlpkg/tlpsrc/asymptote.tlpsrc2
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
index 5b1b726ee11..a2dcbb78ce6 100755
--- a/Master/bin/i386-solaris/asy
+++ b/Master/bin/i386-solaris/asy
Binary files differ
diff --git a/Master/bin/sparc-solaris/asy b/Master/bin/sparc-solaris/asy
new file mode 100755
index 00000000000..c3dd28d95f5
--- /dev/null
+++ b/Master/bin/sparc-solaris/asy
Binary files differ
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
index 50f8caa0d60..78ca58eefa2 100755
--- a/Master/bin/x86_64-solaris/asy
+++ b/Master/bin/x86_64-solaris/asy
Binary files differ
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}