- enable pthreads build - switch gp binary to static link libpari; this offsets the slowdown due to pthreads - use -flto and -fno-semantic-interposition which improve speed a little bit more - ship the static library, so external programs can static link - change of maintainer agreed by sgn I had to add a minimal patch to the makefile, so that the build step builds and the install step installs. I will try to upstream that patch.
36 lines
1.4 KiB
Diff
36 lines
1.4 KiB
Diff
Add targets to main makefile:
|
|
- gp-dyn
|
|
- gp-sta
|
|
- lib-dyn
|
|
- lib-sta
|
|
- install-lib-dyn
|
|
- install-bin-dyn
|
|
|
|
Also: define a .NOTPARALLEL target so that top targets are not run in parallel.
|
|
|
|
Otherwise, running several targets with -j is broken.
|
|
|
|
Examples:
|
|
|
|
1. "make -j8 gp lib-sta lib-dyn" fails once in a while
|
|
|
|
2. "make -j8 doc docpdf" fails every time
|
|
|
|
With .NOTPARALLEL, both seem to work reliably.
|
|
|
|
Reference:
|
|
https://www.gnu.org/software/make/manual/html_node/Special-Targets.html#Special-Targets
|
|
|
|
--- pari-2.13.2.orig/config/TOP_Make.SH 2020-10-26 09:43:04.000000000 -0300
|
|
+++ pari-2.13.2/config/TOP_Make.SH 2021-08-14 15:28:04.052670019 -0300
|
|
@@ -42,7 +42,9 @@
|
|
@\$(MAKE) gp
|
|
@-cd doc && \$(MAKE) doc
|
|
+
|
|
+.NOTPARALLEL:
|
|
|
|
-gp bench test-kernel test-all install cleanall cleanobj cleantest nsis link-data install-bin install-doc install-docpdf install-nodata install-data install-lib-sta install-bin-sta dobench dyntest-all statest-all tune $top_test_extra $top_dotest_extra::
|
|
+gp gp-dyn gp-sta lib-dyn lib-sta bench test-kernel test-all install cleanall cleanobj cleantest nsis link-data install-bin install-doc install-docpdf install-nodata install-data install-lib-dyn install-lib-sta install-bin-dyn install-bin-sta dobench dyntest-all statest-all tune $top_test_extra $top_dotest_extra::
|
|
@dir=\`config/objdir\`; echo "Making \$@ in \$\$dir";\\
|
|
if test ! -d \$\$dir; then echo "Please run Configure first!"; exit 1; fi;\\
|
|
cd \$\$dir && \$(MAKE) \$@
|