]> granicus.if.org Git - graphviz/log
graphviz
2 years agoMerge branch 'fix-mingw-cmake-builds-and-add-tests' into 'main'
Magnus Jacobsson [Mon, 10 Jan 2022 13:02:24 +0000 (13:02 +0000)]
Merge branch 'fix-mingw-cmake-builds-and-add-tests' into 'main'

Fix MinGW CMake builds and add tests

Closes #2176 and #1780

See merge request graphviz/graphviz!2387

2 years agoci: add windows-mingw32-cmake-test job
Magnus Jacobsson [Tue, 4 Jan 2022 14:16:13 +0000 (15:16 +0100)]
ci: add windows-mingw32-cmake-test job

2 years agoci: add windows-mingw64-cmake-test job
Magnus Jacobsson [Tue, 4 Jan 2022 14:16:13 +0000 (15:16 +0100)]
ci: add windows-mingw64-cmake-test job

2 years agoadd ci/mingw-test.sh
Magnus Jacobsson [Thu, 6 Jan 2022 13:39:29 +0000 (14:39 +0100)]
add ci/mingw-test.sh

2 years agoci/mingw-install.sh: install python-pip
Magnus Jacobsson [Tue, 4 Jan 2022 08:01:27 +0000 (09:01 +0100)]
ci/mingw-install.sh: install python-pip

2 years agotest_1408: don't expect failure on MinGW
Magnus Jacobsson [Fri, 7 Jan 2022 14:58:35 +0000 (15:58 +0100)]
test_1408: don't expect failure on MinGW

It's unclear why this test does not fail on MinGW when if fails on
other OSes. The NDEBUG symbols is not defined in MinGW builds and
assertions have been verified to be enabled.

2 years agogvtest.py: correct compiler used on MinGW
Magnus Jacobsson [Tue, 4 Jan 2022 09:37:12 +0000 (10:37 +0100)]
gvtest.py: correct compiler used on MinGW

2 years agoCMake: ensure PangoCairo is found on MinGW
Magnus Jacobsson [Sun, 9 Jan 2022 11:28:42 +0000 (12:28 +0100)]
CMake: ensure PangoCairo is found on MinGW

This makes the PNG format available in CMake builds with MinGW.

2 years agoCMake: ensure Cairo is found on MinGW
Magnus Jacobsson [Fri, 7 Jan 2022 19:17:49 +0000 (20:17 +0100)]
CMake: ensure Cairo is found on MinGW

2 years agoplugin/pango: print font map when verbose for all platforms
Magnus Jacobsson [Fri, 7 Jan 2022 21:42:20 +0000 (22:42 +0100)]
plugin/pango: print font map when verbose for all platforms

This effectively reverts commit
2029d4bf76360aba04a0ca779058caba7682e1e9.

Fixes this error with CMake on MinGW when compiled with -Werror:

C:/Users/magja/graphviz/plugin/pango/gvgetfontlist_pango.c:477:1: error: 'printFontMap' defined but not used [-Werror=unused-function]
  477 | printFontMap (gv_font_map*gv_fmap, int sz)
      | ^~~~~~~~~~~~

2 years agoplugin/pango: include common/globals.h in gvgetfontlist_pango.c
Magnus Jacobsson [Sat, 8 Jan 2022 07:51:36 +0000 (08:51 +0100)]
plugin/pango: include common/globals.h in gvgetfontlist_pango.c

An upcoming commit which enables code that uses the Verbose global
variable would otherwise cause this error:

gvgetfontlist_pango.obj : error LNK2019: unresolved external symbol _Verbose referenced in function _get_font_mapping [C:\GitLab-Runner\builds\magjac\graphviz\build\plugin\pango\gvplugin_pango.vcxproj]
C:\GitLab-Runner\builds\magjac\graphviz\build\plugin\pango\Release\gvplugin_pango.dll : fatal error LNK1120: 1 unresolved externals [C:\GitLab-Runner\builds\magjac\graphviz\build\plugin\pango\gvplugin_pango.vcxproj]

2 years agoplugin/pango: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sat, 8 Jan 2022 09:43:36 +0000 (10:43 +0100)]
plugin/pango: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit which enables code that uses the Verbose global
variable would otherwise cause this error:

gvgetfontlist_pango.obj : error LNK2001: unresolved external symbol _Verbose

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

2 years agogvpr: correct fix for absolute paths to work also on MinGW
Magnus Jacobsson [Fri, 7 Jan 2022 13:03:00 +0000 (14:03 +0100)]
gvpr: correct fix for absolute paths to work also on MinGW

Fixes https://gitlab.com/graphviz/graphviz/-/issues/1780 on MinGW.

Without this fix, test_1780 fails:

__________________________________ test_1780 __________________________________
Traceback (most recent call last):
  File "C:/Users/magja/graphviz2/rtest/test_regression.py", line 594, in test_1780
    subprocess.check_call(["gvpr", "-f", clustg], stdin=subprocess.DEVNULL)
  File "C:/tools/msys64/mingw64/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['gvpr', '-f', WindowsPath('C:/Users/magja/graphviz2/cmd/gvpr/lib/clustg')]' returned non-zero exit status 4294967295.
---------------------------- Captured stderr call -----------------------------
gvpr: gvpr
Usage: gvpr gvpr

2 years agoplugin/pango: work around CMake not generating DLLs with version numbers on MinGW
Magnus Jacobsson [Sun, 9 Jan 2022 10:14:48 +0000 (11:14 +0100)]
plugin/pango: work around CMake not generating DLLs with version numbers on MinGW

Fixes https://gitlab.com/graphviz/graphviz/-/issues/2176.

2 years agoplugin/neato_layout: work around CMake not generating DLLs with version numbers on...
Magnus Jacobsson [Sun, 9 Jan 2022 10:14:48 +0000 (11:14 +0100)]
plugin/neato_layout: work around CMake not generating DLLs with version numbers on MinGW

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

2 years agoplugin/gdiplus: work around CMake not generating DLLs with version numbers on MinGW
Magnus Jacobsson [Sun, 9 Jan 2022 10:14:48 +0000 (11:14 +0100)]
plugin/gdiplus: work around CMake not generating DLLs with version numbers on MinGW

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

2 years agoplugin/gd: work around CMake not generating DLLs with version numbers on MinGW
Magnus Jacobsson [Sun, 9 Jan 2022 10:14:48 +0000 (11:14 +0100)]
plugin/gd: work around CMake not generating DLLs with version numbers on MinGW

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

2 years agoplugin/dot_layout: work around CMake not generating DLLs with version numbers on...
Magnus Jacobsson [Sun, 9 Jan 2022 10:14:48 +0000 (11:14 +0100)]
plugin/dot_layout: work around CMake not generating DLLs with version numbers on MinGW

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

2 years agoplugin/core: work around CMake not generating DLLs with version numbers on MinGW
Magnus Jacobsson [Sun, 9 Jan 2022 10:14:48 +0000 (11:14 +0100)]
plugin/core: work around CMake not generating DLLs with version numbers on MinGW

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

2 years agoCMake: detect "dot -c" failure when running cpack
Magnus Jacobsson [Tue, 4 Jan 2022 08:02:35 +0000 (09:02 +0100)]
CMake: detect "dot -c" failure when running cpack

This reveals this error when "dot -c" is executed when running cpack
on MinGW:

CPack: Create package using ZIP
CPack: Install projects
CPack: - Install project: Graphviz []
CMake Error at C:/Users/magja/graphviz2/cmake/configure_plugins.cmake:38 (execute_process):
  execute_process abnormal exit: Access violation
Call Stack (most recent call first):
  C:/Users/magja/graphviz2/build/cmd/dot/cmake_install.cmake:91 (include)
  C:/Users/magja/graphviz2/build/cmd/cmake_install.cmake:42 (include)
  C:/Users/magja/graphviz2/build/cmake_install.cmake:60 (include)

CPack Error: Error when generating package: Graphviz

See https://gitlab.com/graphviz/graphviz/-/issues/2176.

2 years agoMerge branch 'smattr/B7A7E3A2-8D16-48E6-A2EE-1E56CD300DF2' into 'main'
Matthew Fernandez [Mon, 10 Jan 2022 00:49:12 +0000 (00:49 +0000)]
Merge branch 'smattr/B7A7E3A2-8D16-48E6-A2EE-1E56CD300DF2' into 'main'

delete unused header constants

See merge request graphviz/graphviz!2382

2 years agoAPI BREAK: remove unused '_DUMMY_ELEM'
Matthew Fernandez [Sat, 8 Jan 2022 02:01:11 +0000 (18:01 -0800)]
API BREAK: remove unused '_DUMMY_ELEM'

ISO C99 and C++11 both permit trailing commas in enum members. Graphviz has been
compiled using C99 since fe3f9411d2c59b463ab1b64eecfd19f2db55d2fc and C++11
since a74e0e104e114bcf890eb8419a0bf02a22e01d84. This wart was not removed
previously as removing it was considered an API break not worth doing. The
upcoming release is projected to bump the major version number, making breaks
like this more acceptable.

2 years agoAPI BREAK: remove unused 'MAXSHORT' definition
Matthew Fernandez [Sat, 8 Jan 2022 01:49:56 +0000 (17:49 -0800)]
API BREAK: remove unused 'MAXSHORT' definition

The last use of this was removed in 580fa88477fa59aca01e405c986c686ceee21b5f.
But its definition was retained in this header as removing it was considered an
API break not worth causing. The upcoming release is projected to bump the major
version number, so we can now remove it.

2 years agoAPI BREAK: remove local 'INT_MAX' and 'INT_MIN' definitions
Matthew Fernandez [Sat, 8 Jan 2022 01:40:03 +0000 (17:40 -0800)]
API BREAK: remove local 'INT_MAX' and 'INT_MIN' definitions

These constants are defined in ISO C to be available in limits.h, but were
commonly available pre-ISO C too. These definitions remained here for legacy
reasons, because removing them was considered an API break and not worth doing
for this minor clean up. However the upcoming release is projected to involve a
major version number bump.

2 years agoMerge branch 'unify-storage-class-declarations-in-common' into 'main'
Magnus Jacobsson [Sun, 9 Jan 2022 20:45:26 +0000 (20:45 +0000)]
Merge branch 'unify-storage-class-declarations-in-common' into 'main'

Unify storage-class declarations in common headers with Graphviz standard

See merge request graphviz/graphviz!2386

2 years agocommon: [nfc] remove useless default extern declaration of functions in memory.h
Magnus Jacobsson [Sun, 2 Jan 2022 09:59:00 +0000 (10:59 +0100)]
common: [nfc] remove useless default extern declaration of functions in memory.h

2 years agoplugin/visio: use only the GVDLL symbol enable storage-class attributes in gvplugin_v...
Magnus Jacobsson [Sun, 2 Jan 2022 11:47:45 +0000 (12:47 +0100)]
plugin/visio: use only the GVDLL symbol enable storage-class attributes in gvplugin_visio.c

Anything that depends on storage-class attributes already define both
GVC_EXPORTS and WIN32_DLL.

2 years agoMSBuild: remove now obsolete definition of WIN32_DLL from all project files
Magnus Jacobsson [Sun, 2 Jan 2022 15:48:14 +0000 (16:48 +0100)]
MSBuild: remove now obsolete definition of WIN32_DLL from all project files

2 years agopack: autotools: remove now obsolete definition of _BLD_gvc
Magnus Jacobsson [Sun, 2 Jan 2022 15:36:20 +0000 (16:36 +0100)]
pack: autotools: remove now obsolete definition of _BLD_gvc

2 years agopack: CMake: remove now obsolete definition of _BLD_gvc
Magnus Jacobsson [Sun, 2 Jan 2022 15:36:06 +0000 (16:36 +0100)]
pack: CMake: remove now obsolete definition of _BLD_gvc

2 years agoortho: autotools: remove now obsolete definition of _BLD_gvc
Magnus Jacobsson [Sun, 2 Jan 2022 15:35:55 +0000 (16:35 +0100)]
ortho: autotools: remove now obsolete definition of _BLD_gvc

2 years agoortho: CMake: remove now obsolete definition of _BLD_gvc
Magnus Jacobsson [Sun, 2 Jan 2022 15:35:42 +0000 (16:35 +0100)]
ortho: CMake: remove now obsolete definition of _BLD_gvc

2 years agogvc: autotools: remove now obsolete definition of _BLD_gvc
Magnus Jacobsson [Sun, 2 Jan 2022 15:35:27 +0000 (16:35 +0100)]
gvc: autotools: remove now obsolete definition of _BLD_gvc

2 years agogvc: CMake: remove now obsolete definition of _BLD_gvc
Magnus Jacobsson [Sun, 2 Jan 2022 15:35:11 +0000 (16:35 +0100)]
gvc: CMake: remove now obsolete definition of _BLD_gvc

2 years agocommon: autotools: remove now obsolete definition of _BLD_gvc
Magnus Jacobsson [Sun, 2 Jan 2022 15:34:57 +0000 (16:34 +0100)]
common: autotools: remove now obsolete definition of _BLD_gvc

2 years agocommon: CMake: remove now obsolete definition of _BLD_gvc
Magnus Jacobsson [Sun, 2 Jan 2022 15:34:42 +0000 (16:34 +0100)]
common: CMake: remove now obsolete definition of _BLD_gvc

2 years agogvc: remove useless definition of _BLD_gvc in gvusershape.c
Magnus Jacobsson [Sun, 2 Jan 2022 15:31:16 +0000 (16:31 +0100)]
gvc: remove useless definition of _BLD_gvc in gvusershape.c

This symbols is already defined by all build systems that depend on
it.

2 years agocommon: use only GVC_EXPORTS to control storage-class attributes in global.h
Magnus Jacobsson [Sun, 2 Jan 2022 15:22:28 +0000 (16:22 +0100)]
common: use only GVC_EXPORTS to control storage-class attributes in global.h

Anything that depends on storage-class attributes already define both
GVC_EXPORTS and _BLD_gvc.

2 years agocommon: use only the GVDLL symbol enable storage-class attributes in global.h
Magnus Jacobsson [Sun, 2 Jan 2022 11:47:45 +0000 (12:47 +0100)]
common: use only the GVDLL symbol enable storage-class attributes in global.h

Anything that depends on storage-class attributes already define both
GVC_EXPORTS and WIN32_DLL.

2 years agoosage: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sun, 2 Jan 2022 13:08:50 +0000 (14:08 +0100)]
osage: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes in
globals.h to be controlled only by the GVDLL symbol, not also by the
WIN32_DLL symbol.

Without this change, errors like this would occur:

osage.lib(osageinit.obj) : error LNK2001: unresolved external symbol _Ndim

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

2 years agopatchwork: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sun, 2 Jan 2022 13:08:50 +0000 (14:08 +0100)]
patchwork: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes in
globals.h to be controlled only by the GVDLL symbol, not also by the
WIN32_DLL symbol.

Without this change, errors like this would occur:

patchwork.lib(patchworkinit.obj) : error LNK2001: unresolved external symbol _Ndim

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

2 years agotwopigen: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sun, 2 Jan 2022 13:08:50 +0000 (14:08 +0100)]
twopigen: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes in
globals.h to be controlled only by the GVDLL symbol, not also by the
WIN32_DLL symbol.

Without this change, errors like this would occur:

twopigen.lib(twopiinit.obj) : error LNK2001: unresolved external symbol _Ndim

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

2 years agosfdp: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sun, 2 Jan 2022 10:31:27 +0000 (11:31 +0100)]
sfdp: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes in
globals.h to be controlled only by the GVDLL symbol, not also by the
WIN32_DLL symbol.

Without this change, errors like this would occur:

sfdp.lib(spring_electrical.obj) : error LNK2001: unresolved external symbol _Verbose

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

2 years agocommon: [nfc] rename DECLSPEC macro to GLOBALS_API in globals.h
Magnus Jacobsson [Sun, 2 Jan 2022 10:02:42 +0000 (11:02 +0100)]
common: [nfc] rename DECLSPEC macro to GLOBALS_API in globals.h

2 years agocommon: [nfc] remove useless default extern declaration of functions in geomprocs.h
Magnus Jacobsson [Sun, 2 Jan 2022 09:59:00 +0000 (10:59 +0100)]
common: [nfc] remove useless default extern declaration of functions in geomprocs.h

2 years agoMerge branch 'smattr/046089E8-9134-4984-9478-E5E84A0C637F' into 'main'
Matthew Fernandez [Sun, 9 Jan 2022 18:37:48 +0000 (18:37 +0000)]
Merge branch 'smattr/046089E8-9134-4984-9478-E5E84A0C637F' into 'main'

CI: stop installing a custom Python on CentOS 7

See merge request graphviz/graphviz!2385

2 years agoCI: stop installing a custom Python on CentOS 7
Matthew Fernandez [Sun, 9 Jan 2022 01:47:14 +0000 (17:47 -0800)]
CI: stop installing a custom Python on CentOS 7

It is not clear to me why this was pulling in a custom Python 3.6 when Python
3.6 is in the default repositories on CentOS 7. It is possible it was not
packaged there at the time this Dockerfile was written.

2 years agoMerge branch 'install-msys2-from-msys2.org' into 'main'
Magnus Jacobsson [Sun, 9 Jan 2022 16:11:44 +0000 (16:11 +0000)]
Merge branch 'install-msys2-from-msys2.org' into 'main'

CI: install msys2 from msys2.org instead of with choco

See merge request graphviz/graphviz!2375

2 years agoci: install msys2 from msys2.org instead of with choco
Magnus Jacobsson [Sat, 1 Jan 2022 13:07:50 +0000 (14:07 +0100)]
ci: install msys2 from msys2.org instead of with choco

2 years agoMerge branch 'unify-storage-class-declarations-in-cgraph' into 'main'
Magnus Jacobsson [Sun, 9 Jan 2022 09:40:57 +0000 (09:40 +0000)]
Merge branch 'unify-storage-class-declarations-in-cgraph' into 'main'

Unify storage-class declarations in cgraph headers with Graphviz standard

See merge request graphviz/graphviz!2380

2 years agoadd a CHANGELOG entry for the breaking GVDLL change in cgraph.h
Magnus Jacobsson [Fri, 7 Jan 2022 11:49:45 +0000 (12:49 +0100)]
add a CHANGELOG entry for the breaking GVDLL change in cgraph.h

2 years agocgraph: [nfc] align storage-class declarations to Graphviz standard in sprint.h
Magnus Jacobsson [Sun, 2 Jan 2022 09:54:59 +0000 (10:54 +0100)]
cgraph: [nfc] align storage-class declarations to Graphviz standard in sprint.h

2 years agocgraph: [nfc] rename DECLSPEC macro to SPRINT_API
Magnus Jacobsson [Sun, 2 Jan 2022 09:54:00 +0000 (10:54 +0100)]
cgraph: [nfc] rename DECLSPEC macro to SPRINT_API

2 years agocgraph: use GVDLL instead of _WIN32 to control storage-class attributes in csprint.h
Magnus Jacobsson [Sat, 1 Jan 2022 16:30:02 +0000 (17:30 +0100)]
cgraph: use GVDLL instead of _WIN32 to control storage-class attributes in csprint.h

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

2 years agocgraph: [nfc] align storage-class declarations to Graphviz standard in cgraph.h
Magnus Jacobsson [Sat, 1 Jan 2022 16:30:38 +0000 (17:30 +0100)]
cgraph: [nfc] align storage-class declarations to Graphviz standard in cgraph.h

2 years agocgraph: use GVDLL instead of _WIN32 to control storage-class attributes in cgraph.h
Magnus Jacobsson [Sat, 1 Jan 2022 16:30:02 +0000 (17:30 +0100)]
cgraph: use GVDLL instead of _WIN32 to control storage-class attributes in cgraph.h

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

2 years agocgraph: [nfc] remove whitespace in preprocessor directives in cgraph.h
Magnus Jacobsson [Sat, 1 Jan 2022 16:29:37 +0000 (17:29 +0100)]
cgraph: [nfc] remove whitespace in preprocessor directives in cgraph.h

2 years agocgraph: [nfc] align storage-class declarations to Graphviz standard in cghdr.h
Magnus Jacobsson [Sat, 1 Jan 2022 16:25:54 +0000 (17:25 +0100)]
cgraph: [nfc] align storage-class declarations to Graphviz standard in cghdr.h

2 years agocgraph: [nfc] remove useless default extern declaration of functions in cghdr.h
Magnus Jacobsson [Sat, 1 Jan 2022 16:25:02 +0000 (17:25 +0100)]
cgraph: [nfc] remove useless default extern declaration of functions in cghdr.h

2 years agocgraph: use GVDLL instead of _WIN32 to control storage-class attributes in cghdr.h
Magnus Jacobsson [Sat, 1 Jan 2022 16:23:53 +0000 (17:23 +0100)]
cgraph: use GVDLL instead of _WIN32 to control storage-class attributes in cghdr.h

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

2 years agocgraph: [nfc] remove whitespace in preprocessor directives in cghdr.h
Magnus Jacobsson [Sat, 1 Jan 2022 16:23:08 +0000 (17:23 +0100)]
cgraph: [nfc] remove whitespace in preprocessor directives in cghdr.h

2 years agocgraph: remove useless definition of _BLD_cgraph in cghdr.h
Magnus Jacobsson [Sun, 2 Jan 2022 16:07:13 +0000 (17:07 +0100)]
cgraph: remove useless definition of _BLD_cgraph in cghdr.h

This symbol is not used anywhere.

2 years agocgraph: move include of config.h to before defining storage-class attributes in cghdr.h
Magnus Jacobsson [Sun, 2 Jan 2022 09:21:35 +0000 (10:21 +0100)]
cgraph: move include of config.h to before defining storage-class attributes in cghdr.h

The GVDLL symbol is defined in config.h for autotools builds and an
upcoming commit which changes cghdr.h to use GVDLL to control the
storage-class attribute declarations would otherwise cause errors like
this:

C:\Users\magja\graphviz\cmd\tools/gc.c:333: undefined reference to `__imp_agapply'

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

2 years agocgraph: [nfc] align storage-class declarations to Graphviz standard in agxbuf.h
Magnus Jacobsson [Sat, 1 Jan 2022 16:00:03 +0000 (17:00 +0100)]
cgraph: [nfc] align storage-class declarations to Graphviz standard in agxbuf.h

2 years agocgraph: [nfc] remove useless default extern declaration of functions in agxbuf.h
Magnus Jacobsson [Sat, 1 Jan 2022 15:58:43 +0000 (16:58 +0100)]
cgraph: [nfc] remove useless default extern declaration of functions in agxbuf.h

2 years agocgraph: use GVDLL instead of _WIN32 to control storage-class attributes in agxbuf.h
Magnus Jacobsson [Sat, 1 Jan 2022 15:56:18 +0000 (16:56 +0100)]
cgraph: use GVDLL instead of _WIN32 to control storage-class attributes in agxbuf.h

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

2 years agocgraph: [nfc] remove whitespace in preprocessor directives in agxbuf.h
Magnus Jacobsson [Sat, 1 Jan 2022 15:53:33 +0000 (16:53 +0100)]
cgraph: [nfc] remove whitespace in preprocessor directives in agxbuf.h

2 years agocgraph: include config.h in agxbuf.h to get GVDLL in autotools builds
Magnus Jacobsson [Sun, 2 Jan 2022 09:21:35 +0000 (10:21 +0100)]
cgraph: include config.h in agxbuf.h to get GVDLL in autotools builds

An upcoming commit which changes agxbuf.h to use GVDLL to control the
storage-class attribute declarations would otherwise cause errors like
this:

C:\Users\magja\graphviz\lib\gvc/gvplugin.c:386: undefined reference to `__imp_agxbprint'

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

2 years agocgraph++: use GVDLL instead of _WIN32 to control storage-class attributes in AGraph.h
Magnus Jacobsson [Sat, 1 Jan 2022 15:52:13 +0000 (16:52 +0100)]
cgraph++: use GVDLL instead of _WIN32 to control storage-class attributes in AGraph.h

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

2 years agocgraph++: [nfc] align storage-class declarations to Graphviz standard in AGraph.h
Magnus Jacobsson [Sat, 1 Jan 2022 15:47:14 +0000 (16:47 +0100)]
cgraph++: [nfc] align storage-class declarations to Graphviz standard in AGraph.h

2 years agotests: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sat, 1 Jan 2022 18:15:21 +0000 (19:15 +0100)]
tests: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes to be
controlled by the GVDLL symbol in cgraph.h.

Without this change, errors like this would occur when building the
test examples:

demo.obj : error LNK2019: unresolved external symbol Agdirected referenced in function main

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

2 years agolib/gvpr: use GVDLL instead of _WIN32 to control gprDisc init in compile.c
Magnus Jacobsson [Sun, 2 Jan 2022 15:02:47 +0000 (16:02 +0100)]
lib/gvpr: use GVDLL instead of _WIN32 to control gprDisc init in compile.c

Without this change, an upcoming commit that changes cgraph.h to use
GVDLL instead of _WIN32 to control storage-class attributes would
cause this error:

compile.c:85:29: error: initializer element is not constant
   85 | static Agdisc_t gprDisc = { &AgMemDisc, &AgIdDisc, &gprIoDisc };
      |                             ^
compile.c:85:29: note: (near initialization for ‘gprDisc.mem’)

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

2 years agodot: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sat, 1 Jan 2022 17:01:01 +0000 (18:01 +0100)]
dot: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes to be
controlled by the GVDLL symbol in cgraph.h.

Without this change, errors like this would occur:

dot.obj : error LNK2001: unresolved external symbol _Agdirected

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

2 years agosccmap: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sat, 1 Jan 2022 17:01:01 +0000 (18:01 +0100)]
sccmap: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes to be
controlled by the GVDLL symbol in cgraph.h.

Without this change, errors like this would occur:

sccmap.obj : error LNK2001: unresolved external symbol _Agdirected

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

2 years agobcomps: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sat, 1 Jan 2022 17:01:01 +0000 (18:01 +0100)]
bcomps: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes to be
controlled by the GVDLL symbol in cgraph.h.

Without this change, errors like this would occur:

bcomps.obj : error LNK2001: unresolved external symbol _Agstrictundirected

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

2 years agomm2gv: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sat, 1 Jan 2022 17:01:01 +0000 (18:01 +0100)]
mm2gv: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes to be
controlled by the GVDLL symbol in cgraph.h.

Without this change, errors like this would occur:

mm2gv.obj : error LNK2001: unresolved external symbol _Agdirected

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

2 years agoccomps: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sat, 1 Jan 2022 17:01:01 +0000 (18:01 +0100)]
ccomps: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes to be
controlled by the GVDLL symbol in cgraph.h.

Without this change, errors like this would occur:

ccomps.obj : error LNK2001: unresolved external symbol _Agstrictundirected

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

2 years agodotgen: MSBuild: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sat, 1 Jan 2022 17:01:01 +0000 (18:01 +0100)]
dotgen: MSBuild: define GVDLL to ensure correct storage-class attributes

An upcoming commit will change the storage-class attributes to be
controlled by the GVDLL symbol in cgraph.h.

Without this change, errors like this would occur:

dotgen.lib(mincross.obj) : error LNK2001: unresolved external symbol _Agstrictdirected

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

2 years agoStart 3.0 development series
Magnus Jacobsson [Fri, 7 Jan 2022 11:48:49 +0000 (12:48 +0100)]
Start 3.0 development series

An upcoming commit will introduce a breaking change.

3 years agoMerge branch 'smattr/18156802-8e89-4532-9958-fdc6fb4c0f13' into 'main'
Matthew Fernandez [Sat, 8 Jan 2022 17:12:02 +0000 (17:12 +0000)]
Merge branch 'smattr/18156802-8e89-4532-9958-fdc6fb4c0f13' into 'main'

convert lib/mingle/ink.c to C++

See merge request graphviz/graphviz!2381

3 years agolib/mingle: remove an unused sparse include
Matthew Fernandez [Fri, 7 Jan 2022 03:40:08 +0000 (19:40 -0800)]
lib/mingle: remove an unused sparse include

3 years agolib/mingle: replace some 'MIN' usage with 'std::min'
Matthew Fernandez [Fri, 7 Jan 2022 03:38:52 +0000 (19:38 -0800)]
lib/mingle: replace some 'MIN' usage with 'std::min'

3 years agolib/mingle ink: pass point lists around as vectors instead of C arrays
Matthew Fernandez [Fri, 7 Jan 2022 03:27:50 +0000 (19:27 -0800)]
lib/mingle ink: pass point lists around as vectors instead of C arrays

3 years agolib/mingle ink: avoid manual memory management of 'targets'
Matthew Fernandez [Thu, 6 Jan 2022 06:16:40 +0000 (22:16 -0800)]
lib/mingle ink: avoid manual memory management of 'targets'

3 years agolib/mingle: scope use of an array to a local temp
Matthew Fernandez [Thu, 6 Jan 2022 06:13:16 +0000 (22:13 -0800)]
lib/mingle: scope use of an array to a local temp

Similar to the preceding changes for `sources`, it is not clear to me why this
code was using the `targets` array when the output values are irrelevant.

3 years agolib/mingle ink: avoid manual memory management of 'sources'
Matthew Fernandez [Thu, 6 Jan 2022 06:08:38 +0000 (22:08 -0800)]
lib/mingle ink: avoid manual memory management of 'sources'

3 years agolib/mingle: scope use of an array to a local temp
Matthew Fernandez [Thu, 6 Jan 2022 06:00:51 +0000 (22:00 -0800)]
lib/mingle: scope use of an array to a local temp

It is not clear to me why this loop was using the `sources` array. AFAICT the
values written to this array are (1) not used by subsequent loop iterations (no
loop-carried dependency) and (2) not used after the loop before being
overwritten by other values.

This change cuts the dependency. A future commit will refactor the allocation in
this area to avoid allocating a possibly-unused array upfront.

3 years agolib/mingle: rephrase some open coded hypotenuse calculations
Matthew Fernandez [Thu, 6 Jan 2022 05:50:53 +0000 (21:50 -0800)]
lib/mingle: rephrase some open coded hypotenuse calculations

Surprisingly every `sqrt` call in this file except one is a hypotenuse
calculation that can be done more accurately. Maybe `hypot` was not widely
available when this code was written.

3 years agolib/mingle: replace some 'MAX' usage with 'std::max'
Matthew Fernandez [Thu, 6 Jan 2022 05:43:39 +0000 (21:43 -0800)]
lib/mingle: replace some 'MAX' usage with 'std::max'

This is straightforward find-and-replace. No attempt was made to investigate if
the surrounding algorithm could/should be rephrased.

Gitlab: #2154

3 years agolib/mingle: [nfc] change C includes to their C++ equivalents
Matthew Fernandez [Thu, 6 Jan 2022 05:38:03 +0000 (21:38 -0800)]
lib/mingle: [nfc] change C includes to their C++ equivalents

3 years agolib/mingle: move ink.c into C++
Matthew Fernandez [Thu, 6 Jan 2022 04:32:31 +0000 (20:32 -0800)]
lib/mingle: move ink.c into C++

lib/mingle already has a C++ source, requiring it to link against the C++
standard library. There is no advantage to keeping some of its sources in C.

This does nothing fancy, just rename the existing file. All contained code looks
compatible across C and C++. Future commits will refactor this to more modern
C++ style.

Gitlab: #2154

3 years agolib/mingle: [nfc] pre-emptively squash -fpermissive warning
Matthew Fernandez [Thu, 6 Jan 2022 04:48:07 +0000 (20:48 -0800)]
lib/mingle: [nfc] pre-emptively squash -fpermissive warning

When moving this code to C++ in an upcoming commit, this would otherwise
trigger:

  lib/mingle/ink.cpp:46:22: error: uninitialized const 'Origin' [-fpermissive]
   static const point_t Origin;
                        ^
  In file included from lib/mingle/ink.cpp:17:0:
  lib/mingle/ink.h:19:16: note: 'const struct point_t' has no user-provided
    default constructor
   typedef struct {
                  ^
  lib/mingle/ink.h:20:10: note: and the implicitly-defined constructor does not
    initialize 'double point_t::x'
     double x, y;
          ^

This noisy initialization can probably be undone after mingle and libmingle are
moved to entirely C++.

Gitlab: #2154

3 years agolib/mingle: [nfc] remove an unused include
Matthew Fernandez [Thu, 6 Jan 2022 04:25:12 +0000 (20:25 -0800)]
lib/mingle: [nfc] remove an unused include

3 years agoMerge branch 'fix-parallel-visual-studio-builds' into 'main'
Magnus Jacobsson [Thu, 6 Jan 2022 10:56:24 +0000 (10:56 +0000)]
Merge branch 'fix-parallel-visual-studio-builds' into 'main'

Fix parallel Visual Studio builds

See merge request graphviz/graphviz!2377

3 years agoadd a changelog entry for Visual Studio fix
Magnus Jacobsson [Thu, 6 Jan 2022 09:53:30 +0000 (10:53 +0100)]
add a changelog entry for Visual Studio fix

https://gitlab.com/graphviz/graphviz/-/issues/2175.

3 years agotwopigen: MSBuild: add project reference to version
Magnus Jacobsson [Sun, 2 Jan 2022 21:43:26 +0000 (22:43 +0100)]
twopigen: MSBuild: add project reference to version

Closes https://gitlab.com/graphviz/graphviz/-/issues/2175.

3 years agocircogen: MSBuild: add project reference to version
Magnus Jacobsson [Sun, 2 Jan 2022 20:56:32 +0000 (21:56 +0100)]
circogen: MSBuild: add project reference to version

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

3 years agoortho: MSBuild: add project reference to version
Magnus Jacobsson [Sun, 2 Jan 2022 20:44:53 +0000 (21:44 +0100)]
ortho: MSBuild: add project reference to version

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

3 years agofdpgen: MSBuild: add project reference to version
Magnus Jacobsson [Sun, 2 Jan 2022 20:44:29 +0000 (21:44 +0100)]
fdpgen: MSBuild: add project reference to version

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

3 years agopatchwork: MSBuild: add project reference to version
Magnus Jacobsson [Sun, 2 Jan 2022 20:27:42 +0000 (21:27 +0100)]
patchwork: MSBuild: add project reference to version

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