]>
granicus.if.org Git - graphviz/log
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
Magnus Jacobsson [Tue, 4 Jan 2022 14:16:13 +0000 (15:16 +0100)]
ci: add windows-mingw32-cmake-test job
Magnus Jacobsson [Tue, 4 Jan 2022 14:16:13 +0000 (15:16 +0100)]
ci: add windows-mingw64-cmake-test job
Magnus Jacobsson [Thu, 6 Jan 2022 13:39:29 +0000 (14:39 +0100)]
add ci/mingw-test.sh
Magnus Jacobsson [Tue, 4 Jan 2022 08:01:27 +0000 (09:01 +0100)]
ci/mingw-install.sh: install python-pip
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.
Magnus Jacobsson [Tue, 4 Jan 2022 09:37:12 +0000 (10:37 +0100)]
gvtest.py: correct compiler used 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.
Magnus Jacobsson [Fri, 7 Jan 2022 19:17:49 +0000 (20:17 +0100)]
CMake: ensure Cairo is found on MinGW
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)
| ^~~~~~~~~~~~
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]
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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
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.
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
Magnus Jacobsson [Sun, 2 Jan 2022 15:36:20 +0000 (16:36 +0100)]
pack: autotools: 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
Magnus Jacobsson [Sun, 2 Jan 2022 15:35:55 +0000 (16:35 +0100)]
ortho: autotools: 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
Magnus Jacobsson [Sun, 2 Jan 2022 15:35:27 +0000 (16:35 +0100)]
gvc: autotools: 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
Magnus Jacobsson [Sun, 2 Jan 2022 15:34:57 +0000 (16:34 +0100)]
common: autotools: 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
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.
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.
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.
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.
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.
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.
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.
Magnus Jacobsson [Sun, 2 Jan 2022 10:02:42 +0000 (11:02 +0100)]
common: [nfc] rename DECLSPEC macro to GLOBALS_API in globals.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
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
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.
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
Magnus Jacobsson [Sat, 1 Jan 2022 13:07:50 +0000 (14:07 +0100)]
ci: install msys2 from msys2.org instead of with choco
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
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
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
Magnus Jacobsson [Sun, 2 Jan 2022 09:54:00 +0000 (10:54 +0100)]
cgraph: [nfc] rename DECLSPEC macro to SPRINT_API
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.
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
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.
Magnus Jacobsson [Sat, 1 Jan 2022 16:29:37 +0000 (17:29 +0100)]
cgraph: [nfc] remove whitespace in preprocessor directives in cgraph.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
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
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.
Magnus Jacobsson [Sat, 1 Jan 2022 16:23:08 +0000 (17:23 +0100)]
cgraph: [nfc] remove whitespace in preprocessor directives 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.
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.
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
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
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.
Magnus Jacobsson [Sat, 1 Jan 2022 15:53:33 +0000 (16:53 +0100)]
cgraph: [nfc] remove whitespace in preprocessor directives in agxbuf.h
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
Matthew Fernandez [Fri, 7 Jan 2022 03:40:08 +0000 (19:40 -0800)]
lib/mingle: remove an unused sparse include
Matthew Fernandez [Fri, 7 Jan 2022 03:38:52 +0000 (19:38 -0800)]
lib/mingle: replace some 'MIN' usage with 'std::min'
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
Matthew Fernandez [Thu, 6 Jan 2022 06:16:40 +0000 (22:16 -0800)]
lib/mingle ink: avoid manual memory management of 'targets'
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.
Matthew Fernandez [Thu, 6 Jan 2022 06:08:38 +0000 (22:08 -0800)]
lib/mingle ink: avoid manual memory management of 'sources'
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.
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.
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
Matthew Fernandez [Thu, 6 Jan 2022 05:38:03 +0000 (21:38 -0800)]
lib/mingle: [nfc] change C includes to their C++ equivalents
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
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
Matthew Fernandez [Thu, 6 Jan 2022 04:25:12 +0000 (20:25 -0800)]
lib/mingle: [nfc] remove an unused include
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
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.
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.
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.
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.
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.
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.