]> granicus.if.org Git - graphviz/log
graphviz
3 years agolib/edgepaint: MSBuild: define GVDLL in edgepaintlib project file
Magnus Jacobsson [Sun, 12 Dec 2021 14:51:16 +0000 (15:51 +0100)]
lib/edgepaint: MSBuild: define GVDLL in edgepaintlib project file

An upcoming commit will change lab_gamut.h to use the GVDLL symbol to
enable storage-class attributes.

This change ensures that the lab_gamut symbols will continute to be
declared with the dllimport attribute.

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058.

3 years agolib/edgepaint: MSBuild: define GVDLL in lab_gamut project file
Magnus Jacobsson [Sun, 12 Dec 2021 14:51:52 +0000 (15:51 +0100)]
lib/edgepaint: MSBuild: define GVDLL in lab_gamut project file

An upcoming commit will change lab_gamut.h to use the GVDLL symbol to
enable storage-class attributes.

This change ensures that the lab_gamut symbols will be defined with
the dllexport attribute, which will eliminate the need for a .def
file.

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058.

3 years agoMerge MR !2331
Matthew Fernandez [Mon, 13 Dec 2021 05:10:25 +0000 (21:10 -0800)]
Merge MR !2331

3 years agoCMake: propagate include flag for harfbuzz on Windows
Nehal J Wani [Tue, 11 May 2021 00:19:04 +0000 (20:19 -0400)]
CMake: propagate include flag for harfbuzz on Windows

Pango >=1.44.1 changed the way harfbuzz is included
xref: https://github.com/GNOME/pango/commit/a7b17aa2

This is not required on *nix because the PkgConfig CMake module
already takes care of this. For example, on Ubuntu it adds:
-I/usr/include/harbuzz to PangoCairo_CFLAGS

3 years agoMerge branch 'smattr/A6C297DD-D456-46E0-99BD-E1043C7F5AB1' into 'main'
Matthew Fernandez [Sun, 12 Dec 2021 21:12:20 +0000 (21:12 +0000)]
Merge branch 'smattr/A6C297DD-D456-46E0-99BD-E1043C7F5AB1' into 'main'

ci: standardize shell scripts on the same e,u,x,o options

See merge request graphviz/graphviz!2336

3 years agoci: standardize shell scripts on the same e,u,x,o options
Matthew Fernandez [Sat, 11 Dec 2021 06:22:45 +0000 (22:22 -0800)]
ci: standardize shell scripts on the same e,u,x,o options

All these scripts have the same expectation, of failing on anything unexpected.
So setting the same options the same way everywhere leads to more consistency
and predictability.

3 years agoci: apply '${ID_LIKE:-}' pattern from build script to install
Matthew Fernandez [Sat, 11 Dec 2021 22:47:44 +0000 (14:47 -0800)]
ci: apply '${ID_LIKE:-}' pattern from build script to install

This allows in future enabling `set -u` in this script.

3 years agoMerge branch 'smattr/4DE85C4D-850E-457B-9C7E-A5F7767BFFAE' into 'main'
Matthew Fernandez [Sun, 12 Dec 2021 19:14:31 +0000 (19:14 +0000)]
Merge branch 'smattr/4DE85C4D-850E-457B-9C7E-A5F7767BFFAE' into 'main'

disable Windows Defender in all CI jobs

See merge request graphviz/graphviz!2334

3 years agodisable Windows Defender in all CI jobs
Matthew Fernandez [Sat, 11 Dec 2021 06:08:24 +0000 (22:08 -0800)]
disable Windows Defender in all CI jobs

Windows Defender significantly degrades I/O and slows CI tasks to the point that
it is difficult to get a passing result on many of the Windows jobs. It is
unclear what value Windows Defender is adding in CI when the entire environment
is transient and malware has no obvious way of gaining persistence. So far, the
main effect of Windows Defender has been to spuriously block MinGW tools,
preventing CI running altogether.

3 years agoMerge branch 'smattr/2756CD40-47ED-43DD-A9D7-825137573F7C' into 'main'
Matthew Fernandez [Sun, 12 Dec 2021 17:44:34 +0000 (17:44 +0000)]
Merge branch 'smattr/2756CD40-47ED-43DD-A9D7-825137573F7C' into 'main'

drop Fedora 33 builds from CI

See merge request graphviz/graphviz!2332

3 years agodrop Fedora 33 builds from CI
Matthew Fernandez [Fri, 10 Dec 2021 15:58:51 +0000 (07:58 -0800)]
drop Fedora 33 builds from CI

Fedora 33 was EOLed on 2021-11-30.¹

¹ https://docs.fedoraproject.org/en-US/releases/eol/

3 years agoMerge branch 'smattr/B6B64825-8DDD-4591-98B8-B063F8DC4D69' into 'main'
Matthew Fernandez [Sun, 12 Dec 2021 02:24:04 +0000 (02:24 +0000)]
Merge branch 'smattr/B6B64825-8DDD-4591-98B8-B063F8DC4D69' into 'main'

some Python clean up and simplification

See merge request graphviz/graphviz!2328

3 years agotests: avoid a manual open of /dev/null
Matthew Fernandez [Tue, 7 Dec 2021 01:31:02 +0000 (17:31 -0800)]
tests: avoid a manual open of /dev/null

3 years agotests: rewrite 'Popen;communicate' code to use 'check_output'
Matthew Fernandez [Tue, 7 Dec 2021 01:30:04 +0000 (17:30 -0800)]
tests: rewrite 'Popen;communicate' code to use 'check_output'

When this testing code was first written, it looks like it was overlooked that
`check_output` supports the `input` parameter from Python 3.4 onwards. With
this, the relevant code can be written more concisely.

3 years agotests: abstract running 'dot' and checking its return code into library function
Matthew Fernandez [Tue, 7 Dec 2021 01:11:50 +0000 (17:11 -0800)]
tests: abstract running 'dot' and checking its return code into library function

This makes the common pattern of “run `dot`, checking its exit status, and give
me the resulting output” more concise and readable in the test suite.

3 years agotests: rename 'dot' variables in test_regression.py
Matthew Fernandez [Tue, 7 Dec 2021 02:31:05 +0000 (18:31 -0800)]
tests: rename 'dot' variables in test_regression.py

An upcoming change will introduce a `dot` function, which these variables will
then shadow, causing warnings. This is a pre-emptive change to avoid this.

3 years agoMerge branch 'SVG-viewport-precision' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 22:20:51 +0000 (22:20 +0000)]
Merge branch 'SVG-viewport-precision' into 'main'

Fixes https://gitlab.com/graphviz/graphviz/-/issues/1855 where the SVG view...

Closes #1855

See merge request graphviz/graphviz!2327

3 years agoadd a changelog entry for the prior fix
Matthew Fernandez [Wed, 8 Dec 2021 03:21:03 +0000 (19:21 -0800)]
add a changelog entry for the prior fix

3 years agoFixes https://gitlab.com/graphviz/graphviz/-/issues/1855 where the SVG view setup...
Stephen C North [Mon, 6 Dec 2021 13:37:08 +0000 (08:37 -0500)]
Fixes https://gitlab.com/graphviz/graphviz/-/issues/1855 where the SVG view setup needs more than two digits of precision, otherwise clipping may result.

3 years agoadd a test case for scale precision issue
Matthew Fernandez [Tue, 7 Dec 2021 16:06:15 +0000 (08:06 -0800)]
add a test case for scale precision issue

3 years agoMerge branch 'smattr/7740732D-AFA2-4734-9DFE-051A94B5EE68' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 20:00:27 +0000 (20:00 +0000)]
Merge branch 'smattr/7740732D-AFA2-4734-9DFE-051A94B5EE68' into 'main'

remove commented out code

See merge request graphviz/graphviz!2326

3 years agotclpkg/gdtclft/gdtclft.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:34:26 +0000 (13:34 -0800)]
tclpkg/gdtclft/gdtclft.c: [nfc] remove commented out code

3 years agoplugin.demo/xgtk/src/callbacks.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:33:35 +0000 (13:33 -0800)]
plugin.demo/xgtk/src/callbacks.c: [nfc] remove commented out code

3 years agoplugin/gd/gvrender_gd.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:31:42 +0000 (13:31 -0800)]
plugin/gd/gvrender_gd.c: [nfc] remove commented out code

3 years agoplugin/gd/gvloadimage_gd.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:30:15 +0000 (13:30 -0800)]
plugin/gd/gvloadimage_gd.c: [nfc] remove commented out code

3 years agoplugin/gdk/gvloadimage_gdk.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:28:52 +0000 (13:28 -0800)]
plugin/gdk/gvloadimage_gdk.c: [nfc] remove commented out code

3 years agocmd/lefty/ws/mswin32/gtext.c: [nfc] remove commented out code
Matthew Fernandez [Sun, 5 Dec 2021 21:27:44 +0000 (13:27 -0800)]
cmd/lefty/ws/mswin32/gtext.c: [nfc] remove commented out code

3 years agoMerge branch 'smattr/b524e557-b4bb-48fb-a6b9-4b082a913219' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 18:16:41 +0000 (18:16 +0000)]
Merge branch 'smattr/b524e557-b4bb-48fb-a6b9-4b082a913219' into 'main'

more boolean → bool modernization

See merge request graphviz/graphviz!2325

3 years agopoly_init: [nfc] use a C99 bool for 'isPlain' instead of boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:41:45 +0000 (11:41 -0800)]
poly_init: [nfc] use a C99 bool for 'isPlain' instead of boolean

3 years agolib/common/labels.c: [nfc] remove unnecessary parens
Matthew Fernandez [Sun, 5 Dec 2021 19:41:03 +0000 (11:41 -0800)]
lib/common/labels.c: [nfc] remove unnecessary parens

3 years agostrdup_and_subst_obj0: [nfc] use a C99 bool for 'has_tp' instead of boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:38:47 +0000 (11:38 -0800)]
strdup_and_subst_obj0: [nfc] use a C99 bool for 'has_tp' instead of boolean

3 years agostrdup_and_subst_obj0: [nfc] use a C99 bool for 'has_hp' instead of boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:38:05 +0000 (11:38 -0800)]
strdup_and_subst_obj0: [nfc] use a C99 bool for 'has_hp' instead of boolean

3 years agodot: fix declaration of 'MemTest'
Matthew Fernandez [Sun, 5 Dec 2021 19:36:01 +0000 (11:36 -0800)]
dot: fix declaration of 'MemTest'

This variable, declared in globals.h is an `int`, not a `boolean` (a.k.a.
`unsigned char`).

3 years agolib/neatogen/conjgrad.c: [nfc] remove a commented out #include
Matthew Fernandez [Sun, 5 Dec 2021 19:34:13 +0000 (11:34 -0800)]
lib/neatogen/conjgrad.c: [nfc] remove a commented out #include

3 years agoconjugate_gradient_f: [nfc] take a C99 bool parameter instead of a boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:33:41 +0000 (11:33 -0800)]
conjugate_gradient_f: [nfc] take a C99 bool parameter instead of a boolean

3 years agoexpand_t.doAdd: [nfc] use a C99 bool instead of a boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:22:46 +0000 (11:22 -0800)]
expand_t.doAdd: [nfc] use a C99 bool instead of a boolean

3 years agosamedir: fix return type
Matthew Fernandez [Sun, 5 Dec 2021 19:15:57 +0000 (11:15 -0800)]
samedir: fix return type

Commit e1181697185289594304cfb22d5979d1fc5cbf0f altered this function to use C99
bools but did not update its return type.

3 years agohtmlEntityUTF8: [nfc] use a C99 bool for 'warned' local instead of boolean
Matthew Fernandez [Sun, 5 Dec 2021 19:14:42 +0000 (11:14 -0800)]
htmlEntityUTF8: [nfc] use a C99 bool for 'warned' local instead of boolean

3 years agoMerge branch 'smattr/D5394DF4-047C-45E9-B4B4-400B6140BE96' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 17:15:22 +0000 (17:15 +0000)]
Merge branch 'smattr/D5394DF4-047C-45E9-B4B4-400B6140BE96' into 'main'

ci: [nfc] fuse tarball;mv steps into one

See merge request graphviz/graphviz!2324

3 years agoci: [nfc] fuse tarball;mv steps into one
Matthew Fernandez [Sun, 5 Dec 2021 18:59:14 +0000 (10:59 -0800)]
ci: [nfc] fuse tarball;mv steps into one

When we are immediately going to the move a created tarball to a new location,
we may as well just save time and create it in the eventual location to begin
with.

3 years agoMerge branch 'smattr/8EC56F87-69CE-47A9-8317-CBB835E23A02' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 06:13:43 +0000 (06:13 +0000)]
Merge branch 'smattr/8EC56F87-69CE-47A9-8317-CBB835E23A02' into 'main'

remove Ming plugin

Closes #2160

See merge request graphviz/graphviz!2323

3 years agoremove Ming plugin
Matthew Fernandez [Sun, 5 Dec 2021 01:44:24 +0000 (17:44 -0800)]
remove Ming plugin

The format this plugin produces, Adobe Shockwave, was officially EOLed by Adobe
in April 2019.¹ Legacy support for SWF files was available through Adobe Flash
Player. Flash Player was subsequently EOLed in December 2020 with Adobe
considering it such a security risk they flipped a kill switch in January 2021
making it no longer possible to run Flash Player anywhere.²

Closes #2160

¹ https://helpx.adobe.com/shockwave/shockwave-end-of-life-faq.html
² https://www.adobe.com/au/products/flashplayer/end-of-life.html

3 years agoMerge branch 'smattr/35B3A0E0-A5D9-43EB-9837-79A1DD8788C8' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 03:41:07 +0000 (03:41 +0000)]
Merge branch 'smattr/35B3A0E0-A5D9-43EB-9837-79A1DD8788C8' into 'main'

[nfc] clean up legacy lines in Windows config.h

See merge request graphviz/graphviz!2322

3 years ago[nfc] remove legacy libc header line in Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:20:07 +0000 (18:20 -0800)]
[nfc] remove legacy libc header line in Windows config.h

The last use of this macro was removed in
70a4ec52014697210369c6c66c9af7d72579fdc9. Graphviz has been compiled with C99
since fe3f9411d2c59b463ab1b64eecfd19f2db55d2fc, under which standard C headers
are required to exist.

3 years ago[nfc] remove legacy 'STACK_DIRECTION' lines in Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:16:30 +0000 (18:16 -0800)]
[nfc] remove legacy 'STACK_DIRECTION' lines in Windows config.h

This constant was introduced in the initial addition of the precreated Windows
config.h, 76ead5c74029a5ceea61dd6c7600dc1931c275cf, but it is unclear where it
originates from. None of the other build systems appear to define this and no
prior or current state of the Graphviz tree has ever contained use of this
macro. Graphviz does not use `alloca`.

3 years ago[nfc] remove legacy sys/dir.h line from Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:12:24 +0000 (18:12 -0800)]
[nfc] remove legacy sys/dir.h line from Windows config.h

The last use of sys/dir.h was removed in
0330a4d918dcbf6edb1ce46956a20bde9a2444f9.

3 years ago[nfc] remove legacy memory.h line in Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:08:48 +0000 (18:08 -0800)]
[nfc] remove legacy memory.h line in Windows config.h

The last use of this macro was removed in
5cbd4ebcd8254e51569b7209cb964f7d260319fb.

3 years ago[nfc] remove legacy NDIR lines in Windows config.h
Matthew Fernandez [Sun, 5 Dec 2021 02:02:08 +0000 (18:02 -0800)]
[nfc] remove legacy NDIR lines in Windows config.h

The only use of these defines and ndir.h headers was removed in
0330a4d918dcbf6edb1ce46956a20bde9a2444f9.

3 years agoMerge branch 'smattr/8B6E8ECF-9BB8-4D71-8F5E-EDA5F3EC7695' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 02:38:32 +0000 (02:38 +0000)]
Merge branch 'smattr/8B6E8ECF-9BB8-4D71-8F5E-EDA5F3EC7695' into 'main'

fix: correct Windows release file recognition during deployment

Closes #1979

See merge request graphviz/graphviz!2321

3 years agofix: correct Windows release file recognition during deployment
Matthew Fernandez [Sun, 5 Dec 2021 00:05:01 +0000 (16:05 -0800)]
fix: correct Windows release file recognition during deployment

6117abe680037824d134149b0de42f589fb24466 updated the deployment script to add
Windows artifacts that previously needed to be appended locally to the JSON
manifest. However it failed to account for changes made to the packaging
hierarchy that removed release collection and a redundant architecture
component.

(Hopefully) closes #1979.

3 years agoMerge branch 'msys2-ci-fix' into 'main'
Matthew Fernandez [Sat, 11 Dec 2021 01:01:33 +0000 (01:01 +0000)]
Merge branch 'msys2-ci-fix' into 'main'

CI: Add C:\tools\msys64 to MS Defender exclusion list

See merge request graphviz/graphviz!2333

3 years agoCI: Add C:\tools\msys64 to MS Defender exclusion list
Nehal J Wani [Fri, 10 Dec 2021 21:58:09 +0000 (16:58 -0500)]
CI: Add C:\tools\msys64 to MS Defender exclusion list

This is a workaround for:

    cc.exe: fatal error: cannot execute
    'C:/tools/msys64/path/to/cc1.exe':
    CreateProcess: No such file or directory

3 years agoMerge branch 'smattr/EF4D0E71-8197-4826-862C-DD92EB96C820' into 'main'
Matthew Fernandez [Tue, 7 Dec 2021 17:33:35 +0000 (17:33 +0000)]
Merge branch 'smattr/EF4D0E71-8197-4826-862C-DD92EB96C820' into 'main'

install and use Ccache in Cygwin CI tasks

See merge request graphviz/graphviz!2303

3 years agoREADME: fix unescaped '&'
Matthew Fernandez [Wed, 24 Nov 2021 02:57:09 +0000 (18:57 -0800)]
README: fix unescaped '&'

3 years agoenable persistent Ccache cache in Cygwin CI tasks
Matthew Fernandez [Wed, 24 Nov 2021 01:41:55 +0000 (17:41 -0800)]
enable persistent Ccache cache in Cygwin CI tasks

This allows cached compilation results to be preserved and reused across CI
runs. It is hoped this will accelerate these currently long running tasks.

3 years agoinstall and use Ccache in Cygwin CI tasks
Matthew Fernandez [Wed, 24 Nov 2021 01:37:19 +0000 (17:37 -0800)]
install and use Ccache in Cygwin CI tasks

The Cygwin CI tasks come very close to the CI timeout ceiling, usually running
for close to an hour. It is hoped that this change (and upcoming caching) will
reduce this time, thus shortening the total CI time as these are the longest
running tasks at present.

3 years agoMerge branch 'add-mingw-autotools-builds-to-ci-take3' into 'main'
Magnus Jacobsson [Tue, 7 Dec 2021 08:01:35 +0000 (08:01 +0000)]
Merge branch 'add-mingw-autotools-builds-to-ci-take3' into 'main'

Add MinGW autotools build jobs to CI

See merge request graphviz/graphviz!2291

3 years agoCI: add windows-mingw64-build-step2-make job
Magnus Jacobsson [Tue, 23 Nov 2021 05:42:30 +0000 (06:42 +0100)]
CI: add windows-mingw64-build-step2-make job

3 years agoCI: add windows-mingw64-build-step1-configure job
Magnus Jacobsson [Tue, 23 Nov 2021 05:42:13 +0000 (06:42 +0100)]
CI: add windows-mingw64-build-step1-configure job

3 years agoCI: add windows-mingw32-build-step2-make job
Magnus Jacobsson [Sun, 21 Nov 2021 14:08:47 +0000 (15:08 +0100)]
CI: add windows-mingw32-build-step2-make job

3 years agoCI: add windows-mingw32-build-step1-configure job
Magnus Jacobsson [Sun, 21 Nov 2021 14:08:29 +0000 (15:08 +0100)]
CI: add windows-mingw32-build-step1-configure job

3 years agoadd ci/mingw-make.sh
Magnus Jacobsson [Sun, 21 Nov 2021 14:05:10 +0000 (15:05 +0100)]
add ci/mingw-make.sh

This will be used in an upcoming commit to create 2-step autotools
build jobs for MinGW.

3 years agoadd ci/out-of-source-make.sh
Magnus Jacobsson [Sun, 21 Nov 2021 14:04:53 +0000 (15:04 +0100)]
add ci/out-of-source-make.sh

This will be used in an upcoming commit to create 2-step autotools
build jobs for MinGW.

3 years agoadd ci/mingw-configure.sh
Magnus Jacobsson [Sun, 21 Nov 2021 14:04:35 +0000 (15:04 +0100)]
add ci/mingw-configure.sh

This will be used in an upcoming commit to create 2-step autotools
build jobs for MinGW.

3 years agoadd ci/out-of-source-configure.sh
Magnus Jacobsson [Sun, 21 Nov 2021 14:04:20 +0000 (15:04 +0100)]
add ci/out-of-source-configure.sh

This will be used in an upcoming commit to create 2-step autotools
build jobs for MinGW.

3 years agoci/mingw-build.sh: set CMAKE_OPTIONS only when using CMake
Magnus Jacobsson [Fri, 26 Nov 2021 05:41:23 +0000 (06:41 +0100)]
ci/mingw-build.sh: set CMAKE_OPTIONS only when using CMake

3 years agoci/mingw-build.sh: factor out installation to new mingw-install.sh script
Magnus Jacobsson [Fri, 26 Nov 2021 05:40:33 +0000 (06:40 +0100)]
ci/mingw-build.sh: factor out installation to new mingw-install.sh script

3 years agoci/mingw-build.sh: add installation of autoconf, automake & make
Magnus Jacobsson [Mon, 4 Oct 2021 19:33:20 +0000 (21:33 +0200)]
ci/mingw-build.sh: add installation of autoconf, automake & make

3 years agoci/build.sh: autotools: excplicitly specify the tclsh for MinGW
Magnus Jacobsson [Sun, 3 Oct 2021 13:18:26 +0000 (15:18 +0200)]
ci/build.sh: autotools: excplicitly specify the tclsh for MinGW

Fixes these errors when using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/gdtclft.o: in function `tclGdWriteCmd':
C:\Users\magja\graphviz\tclpkg\gdtclft/gdtclft.c:560: undefined reference to `Tcl_GetOpenFile'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/gdtclft.o: in function `tclGdCreateCmd':
C:\Users\magja\graphviz\tclpkg\gdtclft/gdtclft.c:450: undefined reference to `Tcl_GetOpenFile'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/gdtclft.o: in function `Gdtclft_Init':
C:\Users\magja\graphviz\tclpkg\gdtclft/gdtclft.c:1278: undefined reference to `Tcl_InitStubs'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/gdtclft.o:gdtclft.c:(.rdata$.refptr.tclStubsPtr[.refptr.tclStubsPtr]+0x0): undefined reference to `tclStubsPtr'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../tclpkg/tclstubs/.libs/libtclstubs_C.a(tclStubLib.o): in function `tclstubs_dummy':
C:\Users\magja\graphviz\tclpkg\tclstubs/tclStubLib.c:17: undefined reference to `Tcl_InitStubs'

3 years agoci/build.sh: autotools add support for CONFIGURE_OPTIONS for MinGW and Cygwin
Magnus Jacobsson [Sun, 3 Oct 2021 13:37:02 +0000 (15:37 +0200)]
ci/build.sh: autotools add support for CONFIGURE_OPTIONS for MinGW and Cygwin

3 years agoci/build.sh: autotools: add support for MinGW builds
Magnus Jacobsson [Sun, 3 Oct 2021 12:58:11 +0000 (14:58 +0200)]
ci/build.sh: autotools: add support for MinGW builds

3 years agoneato_layout: use GVDLL instead _WIN32 to control storage-class attributes
Magnus Jacobsson [Mon, 4 Oct 2021 19:24:28 +0000 (21:24 +0200)]
neato_layout: use GVDLL instead _WIN32 to control storage-class attributes

Storage-class attributes should only be used for dynamic-link
libraries, but not for statically linked libraries.

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agoplugin/neato_layout: MSBuild: define GVDLL
Magnus Jacobsson [Tue, 5 Oct 2021 05:37:07 +0000 (07:37 +0200)]
plugin/neato_layout: MSBuild: define GVDLL

Without this change, the following error would occur in an upcoming
commit that changes the Windows specific storage-class attributes to
be controlled by GVDLL instead of by _WIN32:

LINK : fatal error LNK1181: cannot open input file 'gvplugin_neato_layout.lib' [C:\GitLab-Runner\builds\magjac\graphviz\cmd\tools\gvpack.vcxproj]

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agotclpathplan: autotools: add linking to tcl stubs
Magnus Jacobsson [Wed, 11 Aug 2021 20:28:27 +0000 (22:28 +0200)]
tclpathplan: autotools: add linking to tcl stubs

Fixes errors like this when using autotools with MinGW:

tclpkg\tclpathplan/tclpathplan.c:396: undefined reference to `tclStubsPtr'

3 years agotcldot: autotools: add --no-undefined also for libtcldot_builtin
Magnus Jacobsson [Wed, 11 Aug 2021 12:53:55 +0000 (14:53 +0200)]
tcldot: autotools: add --no-undefined also for libtcldot_builtin

Fixes this error using autotools with MinGW:

libtool:   error: can't build x86_64-w64-mingw32 shared library unless -no-undefined is specified

3 years agotcldot: autotools: add linking to tcl stubs
Magnus Jacobsson [Wed, 11 Aug 2021 20:15:19 +0000 (22:15 +0200)]
tcldot: autotools: add linking to tcl stubs

Fixes errors like this using autotools with MinGW:

C:\Users\magja\graphviz\tclpkg\tcldot/tcldot.c:176: undefined reference to `Tcl_InitStubs'

3 years agotclpkg/gdtclft: correct storage-class attribute declarations
Magnus Jacobsson [Wed, 29 Sep 2021 19:18:33 +0000 (21:18 +0200)]
tclpkg/gdtclft: correct storage-class attribute declarations

Fixes these errors using autotools with MinGW:

gdtclft.c:1271:13: error: expected declaration specifiers or '...' before 'Gdtclft_Init'
 1271 | EXPORT(int, Gdtclft_Init) (interp)
      |             ^~~~~~~~~~~~
gdtclft.c:1297:13: error: expected declaration specifiers or '...' before 'Gdtclft_SafeInit'
 1297 | EXPORT(int, Gdtclft_SafeInit) (interp)
      |             ^~~~~~~~~~~~~~~~

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agocommon: correct storage-class attributes in memory.h
Magnus Jacobsson [Sun, 28 Nov 2021 11:35:20 +0000 (12:35 +0100)]
common: correct storage-class attributes in memory.h

Fixes many errors like this using autotools with MinGW:

  CCLD     mm2gv.exe
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: matrix_market.o: in function `SparseMatrix_import_matrix_market':
C:\Users\magja\graphviz\cmd\tools/matrix_market.c:99: undefined reference to `__imp_gmalloc'

3 years agoneatogen: add storage-class attribute declarations in neatoprocs.h
Magnus Jacobsson [Sat, 24 Jul 2021 14:50:22 +0000 (16:50 +0200)]
neatogen: add storage-class attribute declarations in neatoprocs.h

Fixes this error using autotools with MinGW:
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: gvpack-gvpack.o: in function `init_node_edge':
C:\Users\magja\graphviz\cmd\tools/gvpack.c:271: undefined reference to `neato_init_node'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\magja\graphviz\cmd\tools/gvpack.c:272: undefined reference to `user_pos'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: gvpack-gvpack.o: in function `init_graph':
C:\Users\magja\graphviz\cmd\tools/gvpack.c:305: undefined reference to `init_nop'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agosfdpgen: CMake: define NEATOGEN_EXPORTS
Magnus Jacobsson [Fri, 30 Jul 2021 09:09:18 +0000 (11:09 +0200)]
sfdpgen: CMake: define NEATOGEN_EXPORTS

sfdpgen is part of the neato_layout plugin.

Fixes errors like this using CMake with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: lib/sfdpgen/libsfdpgen.a(sfdpinit.c.obj):sfdpinit.c:(.text+0xac): undefined reference to `__imp_neato_init_node'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agotwopigen: CMake: define NEATOGEN_EXPORTS
Magnus Jacobsson [Fri, 30 Jul 2021 09:07:55 +0000 (11:07 +0200)]
twopigen: CMake: define NEATOGEN_EXPORTS

twopigen is part of the neato_layout plugin.

Fixes errors like this using CMake with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: lib/twopigen/libtwopigen.a(twopiinit.c.obj):twopiinit.c:(.text+0x142): undefined reference to `__imp_neato_init_node'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agoosage: CMake define NEATOGEN_EXPORTS
Magnus Jacobsson [Fri, 30 Jul 2021 09:06:15 +0000 (11:06 +0200)]
osage: CMake define NEATOGEN_EXPORTS

osage is part of the neato_layout plugin.

Fixes errors like this using CMake with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: lib/osage/libosage.a(osageinit.c.obj):osageinit.c:(.text+0x2ec): undefined reference to `__imp_neato_init_node'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agoneatogen: CMake: define NEATOGEN_EXPORTS
Magnus Jacobsson [Mon, 26 Jul 2021 14:01:00 +0000 (16:01 +0200)]
neatogen: CMake: define NEATOGEN_EXPORTS

It is not automatically set for static libraries, only for shared
libraries.

Fixes errors like this using CMake with MinGW:

neatogen.lib(neatoinit.obj) : error LNK2019: unresolved external symbol __imp_circuit_model referenced in function kkNeato [C:\Users\magja\graphviz\build\plugin\neato_layout\gvplugin_neato_layout.vcxproj]

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agofdpgen: CMake: define NEATOGEN_EXPORTS
Magnus Jacobsson [Fri, 30 Jul 2021 06:40:42 +0000 (08:40 +0200)]
fdpgen: CMake: define NEATOGEN_EXPORTS

fdpgen is part of the neato_layout plugin.

Fixes errors like this using CMake with MinGW:

fdpgen.lib(clusteredges.obj) : error LNK2019: unresolved external symbol __imp_Plegal_arrangement referenced in function compoundEdges [C:\Users\magja\graphviz\build\plugin\neato_layout\gvplugin_neato_layout.vcxproj]

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agocircogen: CMake: define NEATOGEN_EXPORTS
Magnus Jacobsson [Fri, 30 Jul 2021 06:40:06 +0000 (08:40 +0200)]
circogen: CMake: define NEATOGEN_EXPORTS

circogen is part of the neato_layout plugin.

Fixes errors like this using CMake with MinGW:

circogen.lib(circularinit.obj) : error LNK2019: unresolved external symbol __imp_spline_edges referenced in function circo_layout [C:\Users\magja\graphviz\build\plugin\neato_layout\gvplugin_neato_layout.vcxproj]

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agosfdpgen: autotools: define NEATOGEN_EXPORTS
Magnus Jacobsson [Sun, 25 Jul 2021 05:56:03 +0000 (07:56 +0200)]
sfdpgen: autotools: define NEATOGEN_EXPORTS

sfdpgen is part of the neato_layout plugin.

Fixes these errors using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/sfdpgen/.libs/libsfdpgen_C.a(sfdpinit.o): in function `sfdp_init_node_edge':
C:\Users\magja\graphviz\lib\sfdpgen/sfdpinit.c:37: undefined reference to `__imp_neato_init_node'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/sfdpgen/.libs/libsfdpgen_C.a(sfdpinit.o): in function `tuneControl':
C:\Users\magja\graphviz\lib\sfdpgen/sfdpinit.c:248: undefined reference to `__imp_setSeed'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/sfdpgen/.libs/libsfdpgen_C.a(sfdpinit.o): in function `sfdp_layout':
C:\Users\magja\graphviz\lib\sfdpgen/sfdpinit.c:331: undefined reference to `__imp_spline_edges'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\magja\graphviz\lib\sfdpgen/sfdpinit.c:319: undefined reference to `__imp_spline_edges'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agocircogen: autotools: define NEATOGEN_EXPORTS
Magnus Jacobsson [Sun, 25 Jul 2021 05:52:04 +0000 (07:52 +0200)]
circogen: autotools: define NEATOGEN_EXPORTS

circogen is part of the neato_layout plugin.

Fixes these errors using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/circogen/.libs/libcircogen_C.a(circularinit.o): in function `circular_init_node_edge':
C:\Users\magja\graphviz\lib\circogen/circularinit.c:49: undefined reference to `__imp_neato_init_node'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/circogen/.libs/libcircogen_C.a(circularinit.o): in function `circo_layout':
C:\Users\magja\graphviz\lib\circogen/circularinit.c:249: undefined reference to `__imp_spline_edges'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agofdpgen: autotools: define NEATOGEN_EXPORTS
Magnus Jacobsson [Sun, 25 Jul 2021 05:55:05 +0000 (07:55 +0200)]
fdpgen: autotools: define NEATOGEN_EXPORTS

fdpgen is part of the neato_layout plugin.

Fixes errors like this using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/fdpgen/.libs/libfdpgen_C.a(layout.o): in function `fdp_layout':
C:\Users\magja\graphviz\lib\fdpgen/layout.c:1101: undefined reference to `__imp_neato_set_aspect'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agoosage: autotools: define NEATOGEN_EXPORTS
Magnus Jacobsson [Sun, 25 Jul 2021 05:55:34 +0000 (07:55 +0200)]
osage: autotools: define NEATOGEN_EXPORTS

osage is part of the neato_layout plugin.

Fixes these errors using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/osage/.libs/libosage_C.a(osageinit.o): in function `cluster_init_graph':
C:\Users\magja\graphviz\lib\osage/osageinit.c:69: undefined reference to `__imp_neato_init_node'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/osage/.libs/libosage_C.a(osageinit.o): in function `osage_layout':
C:\Users\magja\graphviz\lib\osage/osageinit.c:367: undefined reference to `__imp_spline_edges1'
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\magja\graphviz\lib\osage/osageinit.c:363: undefined reference to `__imp_spline_edges0'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agotwopigen: autotools: define NEATOGEN_EXPORTS
Magnus Jacobsson [Sun, 25 Jul 2021 05:56:38 +0000 (07:56 +0200)]
twopigen: autotools: define NEATOGEN_EXPORTS

twopigen is part of the neato_layout plugin.

Fixes errors like this when using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/twopigen/.libs/libtwopigen_C.a(twopiinit.o): in function `twopi_init_node_edge':
C:\Users\magja\graphviz\lib\twopigen/twopiinit.c:39: undefined reference to `__imp_neato_init_node'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agoneatogen: MSBuild: define NEATOGEN_EXPORTS
Magnus Jacobsson [Sun, 28 Nov 2021 13:53:27 +0000 (14:53 +0100)]
neatogen: MSBuild: define NEATOGEN_EXPORTS

3 years agoneatogen: autotools: define NEATOGEN_EXPORTS
Magnus Jacobsson [Sun, 28 Nov 2021 13:52:35 +0000 (14:52 +0100)]
neatogen: autotools: define NEATOGEN_EXPORTS

3 years agolib/gvpr: autotools: fix incorrect MinGW path translation in DFLT_GVPRPATH string
Magnus Jacobsson [Thu, 22 Jul 2021 04:40:36 +0000 (06:40 +0200)]
lib/gvpr: autotools: fix incorrect MinGW path translation in DFLT_GVPRPATH string

Add an extra forward slash in front of $(pkgdatadir) to avoid the path
being translated to use backslashes under MSYS2/MinGW. This trick is
needed since DFLT_GVPRPATH is a string which is compiled and
backslashes in strings are interpreted as escape sequences. See
https://stackoverflow.com/a/14189687

Fixes errors like this when using autotools with MinGW:

gvpr.c:228:41: error: incomplete universal character name \U
  228 |      pathp = path = concat(DFLT_GVPRPATH, path);
      |                                         ^
gvpr.c:228:41: warning: unknown escape sequence: '\m'
gvpr.c:228:41: warning: unknown escape sequence: '\g'
gvpr.c:228:41: warning: unknown escape sequence: '\s'
gvpr.c:228:41: warning: unknown escape sequence: '\g'
gvpr.c:228:41: warning: unknown escape sequence: '\g'

3 years agoautotools: add WITH_MINGW to AM_CONDITIONAL
Magnus Jacobsson [Thu, 30 Sep 2021 18:24:05 +0000 (20:24 +0200)]
autotools: add WITH_MINGW to AM_CONDITIONAL

This will allow an upcoming commit in this series to introduce
MinGW-specific functionality in the autotools build system.

3 years agopathplan: autotools: add define of PATHPLAN_EXPORTS
Magnus Jacobsson [Tue, 28 Sep 2021 18:33:21 +0000 (20:33 +0200)]
pathplan: autotools: add define of PATHPLAN_EXPORTS

Fixes errors like this using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: .libs/cvt.o: in function `Pobsopen':
C:\Users\magja\graphviz\lib\pathplan/cvt.c:80: undefined reference to `__imp_visibility'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agocommon: autotools: define also GVC_EXPORTS
Magnus Jacobsson [Mon, 27 Sep 2021 21:05:27 +0000 (23:05 +0200)]
common: autotools: define also GVC_EXPORTS

Fixes errors like this using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/common/.libs/libcommon_C.a(arrows.o): in function `arrow_type_curve':
C:\Users\magja\graphviz\lib\common/arrows.c:696: undefined reference to `__imp_Bezier'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agolabel: autotools: define GVC_EXPORTS
Magnus Jacobsson [Sat, 31 Jul 2021 10:39:00 +0000 (12:39 +0200)]
label: autotools: define GVC_EXPORTS

Fixes this error using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/label/.libs/liblabel_C.a(xlabels.o): in function `xlnew':
C:\Users\magja\graphviz\lib\label/xlabels.c:41: undefined reference to `__imp_zmalloc'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agopack: autotools: define GVC_EXPORTS
Magnus Jacobsson [Thu, 22 Jul 2021 13:58:41 +0000 (15:58 +0200)]
pack: autotools: define GVC_EXPORTS

Fixes errors like this using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/pack/.libs/libpack_C.a(pack.o): in function `fillLine':
C:\Users\magja\graphviz\lib\pack/pack.c:127: undefined reference to `__imp_addPS'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agogvc: autotools: define GVC_EXPORTS
Magnus Jacobsson [Thu, 22 Jul 2021 14:01:13 +0000 (16:01 +0200)]
gvc: autotools: define GVC_EXPORTS

Fixes errors like this using autotools with MinGW:

C:\Users\magja\graphviz\lib\gvc/gvevent.c:201: undefined reference to `__imp_overlap_edge'

Towards https://gitlab.com/graphviz/graphviz/-/issues/2058

3 years agogvc: autotools: remove now obsolete linking to xdot
Magnus Jacobsson [Mon, 27 Sep 2021 20:29:01 +0000 (22:29 +0200)]
gvc: autotools: remove now obsolete linking to xdot

The core plugin that previously relied on this explicitly links to
xdot itself since commit 6d646c82d94efdfb9933328f08301f6e1600943e.

The gvc source files do not refer to xdot explicitly and any implicit
references are now resolved by the transitive dependency through
common.

Fixes these errors using autotools with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/xdot/.libs/libxdot.dll.a(d000007.o):(.text+0x0): multiple definition of `parseXDotF'; ../../lib/xdot/.libs/libxdot_C.a(xdot.o):C:\Users\magja\graphviz\lib\xdot/xdot.c:475: first defined here
C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../lib/xdot/.libs/libxdot.dll.a(d000002.o):(.text+0x0): multiple definition of `freeXDot'; ../../lib/xdot/.libs/libxdot_C.a(xdot.o):C:\Users\magja\graphviz\lib\xdot/xdot.c:927: first defined here