aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAstroFloyd <AstroFloyd@gmail.com>2023-05-18 11:33:15 +0200
committerAstroFloyd <AstroFloyd@gmail.com>2023-05-18 11:33:15 +0200
commit46fcf164c587d6fb0fb7f8e6a8c6d4246899997d (patch)
tree82a2831e53c0b026fe29f563b91474aabceae114 /sci-libs/plplot/files
parentsys-apps/man-pages-linux-kernel-api: BLAKE2B for Manifest - v4.5.2. (diff)
downloadAstroFloyd-46fcf164c587d6fb0fb7f8e6a8c6d4246899997d.tar.gz
AstroFloyd-46fcf164c587d6fb0fb7f8e6a8c6d4246899997d.tar.bz2
AstroFloyd-46fcf164c587d6fb0fb7f8e6a8c6d4246899997d.zip
sci-libs/plplot: revision bump to v5.15.0-r2.
Signed-off-by: AstroFloyd <AstroFloyd@gmail.com>
Diffstat (limited to 'sci-libs/plplot/files')
-rw-r--r--sci-libs/plplot/files/plplot-5.12.0-safe-string.patch20
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-QPainterPath-include.patch10
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch18
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-ieee.patch19
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-multiarch.patch56
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch166
-rw-r--r--sci-libs/plplot/files/plplot-5.15.0-ocaml.patch43
7 files changed, 332 insertions, 0 deletions
diff --git a/sci-libs/plplot/files/plplot-5.12.0-safe-string.patch b/sci-libs/plplot/files/plplot-5.12.0-safe-string.patch
new file mode 100644
index 0000000..5a36051
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.12.0-safe-string.patch
@@ -0,0 +1,20 @@
+--- plplot-5.12.0.old/examples/ocaml/x20.ml 2017-01-29 01:50:35.000000000 +0000
++++ plplot-5.12.0/examples/ocaml/x20.ml 2017-11-18 12:10:33.476409441 +0000
+@@ -59,7 +59,7 @@
+ let w, h = Scanf.sscanf w_h_line "%d %d" (fun w h -> w, h) in
+ let num_col = Scanf.sscanf num_col_line "%d" (fun n -> n) in
+
+- let img = String.make (w * h) ' ' in
++ let img = Bytes.make (w * h) ' ' in
+ let imf = Array.make_matrix w h 0.0 in
+
+ (* Note that under 32bit OCaml, this will only work when reading strings up
+@@ -72,7 +72,7 @@
+ for j = 0 to h - 1 do
+ imf.(i).(j) <-
+ (* flip image up-down *)
+- float_of_int (int_of_char (img.[(h - 1 - j ) * w + i]));
++ float_of_int (int_of_char (Bytes.get img ((h - 1 - j ) * w + i)));
+ done
+ done;
+ imf, w, h, num_col
diff --git a/sci-libs/plplot/files/plplot-5.15.0-QPainterPath-include.patch b/sci-libs/plplot/files/plplot-5.15.0-QPainterPath-include.patch
new file mode 100644
index 0000000..3c6b85b
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.15.0-QPainterPath-include.patch
@@ -0,0 +1,10 @@
+--- a/include/qt.h
++++ b/include/qt.h
+@@ -67,6 +67,7 @@
+ #include <QMainWindow>
+ #include <QPicture>
+ #include <QMutex>
++#include <QPainterPath>
+
+ #include "plDevs.h"
+ #include "plplotP.h"
diff --git a/sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch b/sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch
new file mode 100644
index 0000000..1f72da2
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch
@@ -0,0 +1,18 @@
+https://bugs.gentoo.org/898258
+https://sourceforge.net/p/plplot/patches/37/
+
+Avoid implicitly declaring exit. Future compilers will not support
+implicit function declarations, so this cmake probe will always fail.
+
+--- a/cmake/modules/TestForHighBitCharacters.c
++++ b/cmake/modules/TestForHighBitCharacters.c
+@@ -17,6 +17,6 @@ int
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i))
+- exit(1);
+- exit (0);
++ return 1;
++ return 0;
+ }
+
diff --git a/sci-libs/plplot/files/plplot-5.15.0-ieee.patch b/sci-libs/plplot/files/plplot-5.15.0-ieee.patch
new file mode 100644
index 0000000..065f59a
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.15.0-ieee.patch
@@ -0,0 +1,19 @@
+diff -up plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake.ieee plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake
+--- plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake.ieee 2018-09-19 20:31:11.333168883 -0600
++++ plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake 2018-09-19 20:31:56.323728783 -0600
+@@ -27,15 +27,6 @@ option(WITH_CSA "Enable use of the csa l
+ # expanded to a lot more cases as we gain platform experience.
+ set(NAN_CFLAGS ${CMAKE_C_FLAGS})
+ if(PL_HAVE_QHULL OR WITH_CSA)
+- if(CMAKE_SYSTEM_PROCESSOR MATCHES "i[0-9]86" AND NOT CMAKE_C_COMPILER MATCHES "gcc")
+- set(NAN_CFLAGS "${NAN_CFLAGS} -mieee-fp")
+- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "alpha.*")
+- if(CMAKE_C_COMPILER MATCHES "gcc")
+- set(NAN_CFLAGS "${NAN_CFLAGS} -mieee")
+- else(CMAKE_C_COMPILER MATCHES "gcc")
+- set(NAN_CFLAGS "${NAN_CFLAGS} -ieee")
+- endif(CMAKE_C_COMPILER MATCHES "gcc")
+- endif(CMAKE_SYSTEM_PROCESSOR MATCHES "i[0-9]86" AND NOT CMAKE_C_COMPILER MATCHES "gcc")
+ if(NOT DEFINED NaNAwareCCompiler)
+ message(STATUS "Check for NaN awareness in C compiler")
+ try_run(RUN_RESULT COMPILE_RESULT
diff --git a/sci-libs/plplot/files/plplot-5.15.0-multiarch.patch b/sci-libs/plplot/files/plplot-5.15.0-multiarch.patch
new file mode 100644
index 0000000..4fc5b0b
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.15.0-multiarch.patch
@@ -0,0 +1,56 @@
+diff -up plplot-5.15.0/examples/c/Makefile.examples.in.multiarch plplot-5.15.0/examples/c/Makefile.examples.in
+--- plplot-5.15.0/examples/c/Makefile.examples.in.multiarch 2019-09-17 21:47:24.535984257 -0600
++++ plplot-5.15.0/examples/c/Makefile.examples.in 2019-09-17 21:50:37.029009186 -0600
+@@ -23,9 +23,6 @@ SHELL = @SH_EXECUTABLE@
+ CC = @CC@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-install_tree_c_RPATHCMD = @install_tree_c_RPATHCMD@
+-
+ @extXdrawable_true@extXdrawable_EXECUTABLES_list = \
+ @extXdrawable_true@ extXdrawable_demo$(EXEEXT)
+
+diff -up plplot-5.15.0/examples/c++/Makefile.examples.in.multiarch plplot-5.15.0/examples/c++/Makefile.examples.in
+--- plplot-5.15.0/examples/c++/Makefile.examples.in.multiarch 2019-09-17 21:47:24.536984262 -0600
++++ plplot-5.15.0/examples/c++/Makefile.examples.in 2019-09-17 21:50:18.672911449 -0600
+@@ -23,15 +23,10 @@ SHELL = @SH_EXECUTABLE@
+ CXX = @CXX@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-install_tree_cxx_RPATHCMD = @install_tree_cxx_RPATHCMD@
+-
+-@wxwidgets_true@install_tree_wxwidgets_RPATHCMD = @install_tree_wxwidgets_RPATHCMD@
+ @wxwidgets_true@PLPLOTWXWIDGETS_EXECUTABLES_list = \
+ @wxwidgets_true@ @wxdemo_name@$(EXEEXT)
+
+ @qt_gui_true@QT_MOC_EXECUTABLE = @QT_MOC_EXECUTABLE@
+-@qt_gui_true@install_tree_qt_RPATHCMD = @install_tree_qt_RPATHCMD@
+ @qt_gui_true@qt_gui_EXECUTABLES_list = \
+ @qt_gui_true@ qt_example$(EXEEXT)
+
+diff -up plplot-5.15.0/examples/fortran/Makefile.examples.in.multiarch plplot-5.15.0/examples/fortran/Makefile.examples.in
+--- plplot-5.15.0/examples/fortran/Makefile.examples.in.multiarch 2019-09-17 21:47:24.537984268 -0600
++++ plplot-5.15.0/examples/fortran/Makefile.examples.in 2019-09-17 21:48:01.062178741 -0600
+@@ -24,7 +24,6 @@ SHELL = @SH_EXECUTABLE@
+ Fortran = @FC@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+ install_tree_fortran_RPATHCMD = @install_tree_fortran_RPATHCMD@
+
+ EXECUTABLES_list = \
+diff -up plplot-5.15.0/examples/tk/Makefile.examples.in.multiarch plplot-5.15.0/examples/tk/Makefile.examples.in
+--- plplot-5.15.0/examples/tk/Makefile.examples.in.multiarch 2019-09-17 21:47:24.538984273 -0600
++++ plplot-5.15.0/examples/tk/Makefile.examples.in 2019-09-17 21:50:00.816816375 -0600
+@@ -24,9 +24,6 @@ SHELL = @SH_EXECUTABLE@
+ CC = @CC@
+ EXEEXT = @EXEEXT@
+
+-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@
+-install_tree_tk_RPATHCMD = @install_tree_tk_RPATHCMD@
+-
+ EXECUTABLES_list = xtk01$(EXEEXT)
+ # Second and fourth examples depend on itk.
+ @itk_true@itk_EXECUTABLES_list = xtk02$(EXEEXT) xtk04$(EXEEXT)
diff --git a/sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch b/sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch
new file mode 100644
index 0000000..f3fe04d
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch
@@ -0,0 +1,166 @@
+commit 6b215267e7baeae83906bec8dab72a549aeda6c8
+Author: Alan W. Irwin <airwin@users.sourceforge.net>
+Date: Mon Sep 23 17:39:31 2019 -0700
+
+ Build system: Fix ocaml examples core build for -DUSE_RPATH=OFF case
+
+ Thanks to Orion Poplawski for reporting this issue which is that the
+ *core build_tree* rpath manipulations for the ocaml examples were
+ being (incorrectly) skipped for the -DUSE_RPATH=OFF case. The fix for
+ this issue required non-trivial CMake logic changes so was extensively
+ tested (see below).
+
+ Tested by: Alan W. Irwin <airwin@users.sourceforge.net> on Linux
+ (Debian Buster = Stable) with the following steps:
+
+ # Choose these prefixes to assure that the source, build, and install
+ # trees have blanks in their pathnames (to test those cases during
+ # this comprehensive test)
+ COMPREHENSIVE_TEST_PREFIX="/home/software/plplot/HEAD/comprehensive_test_disposeable blank"
+ SOURCE_PREFIX="/home/software/plplot/HEAD/plplot blank .git"
+
+ # Set CMAKE_PREFIX_PATH to access local versions of lua and libLASi to
+ # avoid important bugs in the Debian Testing versions of those
+ # packages. Also access a local version of libqhull to test that
+ # additional rpath possibility.
+
+ # Put a local build of CMake-3.15.20190829-g3ec986c first on the PATH to thoroughly
+ # test our build system for a locally built CMake version that includes an
+ # essential fix so that D language support works properly for the ldc2 and dmd compilers.
+
+ # For this particular test use the gdc D compiler if D enabled (which it was not, see below).
+
+ # Use the -DUSE_INCRTCL_VERSION_4=ON option to help CMake find Tcl/Tk
+ # components. (This step will not be necessary as soon as the PLplot
+ # build system is modified to make Tcl/Tk/Itcl/Itk/Iwidgets finding
+ # more robust.)
+
+ # Use -DSWIG_EXECUTABLE=/home/software/swig/install/bin/swig to test
+ # swig-4.0.0 that I built for myself.
+
+ # To save time, constrain the test to just the ocaml binding and svg device.
+
+ # To save a lot of babysitting of this test, constrain the test by dropping
+ # the interactive component.
+
+ time (nice -19 env CMAKE_PREFIX_PATH=/home/software/lua/install-5.3.5:/home/software/lasi_svn/install:/home/software/qhull/install PATH=/home/software/cmake/install-3ec986ce8e/bin:"$PATH" DC=gdc "$SOURCE_PREFIX"/scripts/comprehensive_test.sh --prefix "$COMPREHENSIVE_TEST_PREFIX" --cmake_added_options "-DUSE_INCRTCL_VERSION_4=ON -DSWIG_EXECUTABLE=/home/software/swig/install/bin/swig -DDEFAULT_NO_BINDINGS=ON -DENABLE_ocaml=ON -DDEFAULT_NO_DEVICES=ON -DPLD_svg=ON " --build_command "make -j18" --ctest_command "ctest -j18" --do_test_interactive no)
+
+ The time result on my Ryzen 7 1700 system with 16 hardware threads was
+
+ real 4m12.625s
+ user 4m22.128s
+ sys 0m58.076s
+
+ The above test was repeated with the following changes:
+
+ # Specify LD_LIBRARY_PATH to workaround the lack of special rpath
+ # support for external local versions of software
+
+ # Use the -DUSE_RPATH=OFF cmake option to drop all install-tree
+ # rpath support (and to ignore any special rpath support for
+ # external local versions of software).
+
+ # Further constrain the test to be performed just for the core build tree
+ # since -DUSE_RPATH=OFF will obviously give bad results for the install
+ # tree for this non-standard installation location.
+
+ time (nice -19 env CMAKE_PREFIX_PATH=/home/software/lua/install-5.3.5:/home/software/lasi_svn/install:/home/software/qhull/install PATH=/home/software/cmake/install-3ec986ce8e/bin:"$PATH" DC=gdc LD_LIBRARY_PATH=/home/software/lasi_svn/install/lib:/home/software/qhull/install/lib "$SOURCE_PREFIX"/scripts/comprehensive_test.sh --prefix "$COMPREHENSIVE_TEST_PREFIX" --cmake_added_options "-DUSE_INCRTCL_VERSION_4=ON -DSWIG_EXECUTABLE=/home/software/swig/install/bin/swig -DDEFAULT_NO_BINDINGS=ON -DENABLE_ocaml=ON -DDEFAULT_NO_DEVICES=ON -DPLD_svg=ON -DUSE_RPATH=OFF" --build_command "make -j18" --ctest_command "ctest -j18" --do_test_interactive no --do_test_install_tree no --do_test_traditional_install_tree no)
+
+ The time result on my Ryzen 7 1700 system with 16 hardware threads was
+
+ real 1m57.888s
+ user 1m42.156s
+ sys 0m26.478s
+
+ Both these comprehensive tests (one which tests that the default
+ -DUSE_RPATH=ON still works for the ocaml case and one similar to
+ Orion's test case which tests that -DUSER_RPATH=OFF works for the
+ ocaml case in the core build tree) ran without issues (e.g., there
+ were no hangs or other obvious errors) and was followed up by the
+ evaluation procedure documented in doc/wiki_source/Testing_PLplot.
+ Those evaluations showed no configure, build, or obvious run-time
+ errors (i.e., no non-zero return codes for any of the steps in these
+ comprehensive tests), and the difference test results (done with the
+ default svg device) were perfect as well.
+
+diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
+index 93cb01b..5bcbceb 100644
+--- a/examples/CMakeLists.txt
++++ b/examples/CMakeLists.txt
+@@ -343,27 +343,24 @@ if(CORE_BUILD)
+ # Extra layer of -Wl indirection required for the nagfor compiler
+ string(REPLACE "-Wl," "-Wl,-Wl,," install_tree_fortran_RPATHCMD ${install_tree_fortran_RPATHCMD})
+ endif(install_tree_fortran_RPATHCMD AND CMAKE_Fortran_COMPILER MATCHES "nagfor")
++ endif(USE_RPATH AND NOT WIN32_OR_CYGWIN)
++
++ # ocaml is a special case not handled by the above logic for other languages
++ # because the (unofficial) CMake language support is
++ # implemented with low-level add_custom commands/targets so that rpath
++ # must be specified for 3 cases (the traditional build of the installed
++ # examples, and the CMake-based build of the build-tree and install-tree examples).
++ # Furthermore, the rpath syntax is different for ocaml.
++ if(ENABLE_ocaml)
++ set(language ocaml)
+
+- # ocaml is a special case because the (unofficial) CMake language support is
+- # implemented with low-level add_custom commands/targets so that rpath
+- # must be specified for 3 cases (the traditional build of the installed
+- # examples, and the CMake-based build of the build-tree and install-tree examples).
+- # Furthermore, the rpath syntax is different for ocaml.
+- if(ENABLE_ocaml)
+- set(language ocaml)
++ if(USE_RPATH AND NOT WIN32_OR_CYGWIN)
+ # Each of the installed examples that are built depend on a library installed in ${LIB_DIR}.
+ set(install_tree_${language}_RPATH ${LIB_DIR})
+- # The ocaml examples depend on the plplot library
++ # The ocaml examples depend on the plplot library so use INSTALL_RPATH
++ # property of that library target.
+ set(tll_arguments PLPLOT::plplot)
+ process_rpath(install_tree_${language}_RPATH "${tll_arguments}")
+-
+- # Special case of the ocaml build-tree examples.
+- # Must be done before ${install_tree_${language}_RPATH gets transformed
+- # from official CMake list to colon-separated form.
+- set(build_tree_${language}_RPATH ${install_tree_${language}_RPATH})
+- list(REMOVE_ITEM build_tree_${language}_RPATH ${LIB_DIR})
+- list(APPEND build_tree_${language}_RPATH ${CMAKE_BINARY_DIR}/src)
+-
+ # Transform from semicolon- to colon-separated list. (Quotes
+ # for last argument required to process whole argument as string
+ # containing semicolons rather than as the concatanated elements
+@@ -372,19 +369,30 @@ if(CORE_BUILD)
+ # install- and build-tree versions of CMake-based build of ocaml
+ # examples
+ string(REGEX REPLACE ";" ":" install_tree_${language}_RPATH "${install_tree_${language}_RPATH}")
+- string(REGEX REPLACE ";" ":" build_tree_${language}_RPATH "${build_tree_${language}_RPATH}")
+ string(REPLACE " " "\\ " install_tree_${language}_RPATH_ESCAPED "${install_tree_${language}_RPATH}")
+- string(REPLACE " " "\\ " build_tree_${language}_RPATH_ESCAPED "${build_tree_${language}_RPATH}")
+-
+ # install_tree_ocaml_RPATHCMD needed in configured traditional
+ # Makefile for the ocaml subdirectory.
+ # Ocaml compiler requires -ccopt in front of every -Wl option:
+ set(install_tree_${language}_RPATHCMD "-ccopt -Wl,-rpath -ccopt -Wl,\"${install_tree_${language}_RPATH_ESCAPED}\"")
++ endif(USE_RPATH AND NOT WIN32_OR_CYGWIN)
+
+- endif(ENABLE_ocaml)
++ # Special case of the ocaml build-tree examples.
++ # Follow above process_rpath logic but with some changes
++ # appropriate for the core build of the ocaml examples.
++ set(build_tree_${language}_RPATH ${CMAKE_BINARY_DIR}/src)
++ set(tll_arguments PLPLOT::plplot)
++ process_rpath(build_tree_${language}_RPATH "${tll_arguments}")
+
++ # Get rid of any mention of ${LIB_DIR} for the core build version
++ # of the examples.
++ # Must be done before ${build_tree_${language}_RPATH gets transformed
++ # from official CMake list to colon-separated form.
++ list(REMOVE_ITEM build_tree_${language}_RPATH ${LIB_DIR})
+
+- endif(USE_RPATH AND NOT WIN32_OR_CYGWIN)
++ string(REGEX REPLACE ";" ":" build_tree_${language}_RPATH "${build_tree_${language}_RPATH}")
++ string(REPLACE " " "\\ " build_tree_${language}_RPATH_ESCAPED "${build_tree_${language}_RPATH}")
++
++ endif(ENABLE_ocaml)
+
+ # Install Chloe.pgm in installed examples directory so that all implementations
+ # of example 20 in the various examples subdirectories can conveniently
diff --git a/sci-libs/plplot/files/plplot-5.15.0-ocaml.patch b/sci-libs/plplot/files/plplot-5.15.0-ocaml.patch
new file mode 100644
index 0000000..6f0827f
--- /dev/null
+++ b/sci-libs/plplot/files/plplot-5.15.0-ocaml.patch
@@ -0,0 +1,43 @@
+diff -up plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt.ocaml plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt
+--- plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt.ocaml 2018-09-19 17:38:53.000000000 -0600
++++ plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt 2018-09-19 20:32:29.884146436 -0600
+@@ -326,11 +326,11 @@ if(ENABLE_ocaml)
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo
+ )
+
+- # ocamlc -a -custom builds a *.cma library from *.cmo
++ # ocamlc -a builds a *.cma library from *.cmo
+ add_custom_command(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot.cma
+- COMMAND ${OCAMLC} -a -custom -o plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${ocaml_LIBRARIES_FLAGS}
++ COMMAND ${OCAMLC} -a -o plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${ocaml_LIBRARIES_FLAGS}
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo
+@@ -341,7 +341,7 @@ if(ENABLE_ocaml)
+ add_custom_command(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/installed_plplot.cma
+- COMMAND ${OCAMLC} -a -custom -o installed_plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${installed_ocaml_LIBRARIES_FLAGS}
++ COMMAND ${OCAMLC} -a -o installed_plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${installed_ocaml_LIBRARIES_FLAGS}
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo
+ ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo
+diff -up plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt.ocaml plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt
+--- plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt.ocaml 2018-09-19 20:32:29.884146436 -0600
++++ plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt 2018-09-19 20:33:18.389750080 -0600
+@@ -91,11 +91,11 @@ if(ENABLE_ocaml AND OCAML_HAS_CAIRO)
+ ${CMAKE_CURRENT_BINARY_DIR}/plcairo.ml
+ )
+
+- # ocamlc -a -custom builds a *.cma library from *.cmo
++ # ocamlc -a builds a *.cma library from *.cmo
+ add_custom_command(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma
+- COMMAND ${OCAMLC} -a -custom -o ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma -I ${PATH_TO_PLPLOT_CMA} plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo -dllib -lplcairo_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplcairo_stubs -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -l${WRITEABLE_TARGET}plplot -dllpath ${CMAKE_BINARY_DIR}/src
++ COMMAND ${OCAMLC} -a -o ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma -I ${PATH_TO_PLPLOT_CMA} plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo -dllib -lplcairo_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplcairo_stubs -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -l${WRITEABLE_TARGET}plplot -dllpath ${CMAKE_BINARY_DIR}/src
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}