]> granicus.if.org Git - graphviz/log
graphviz
3 years agocluster: autotools: link to the gvc lib instead of the static common lib
Magnus Jacobsson [Tue, 14 Sep 2021 10:31:44 +0000 (12:31 +0200)]
cluster: autotools: link to the gvc lib instead of the static common lib

The common lib is part of gvc and should not be linked to directly.

This will allow an upcoming MR to correct the storage class attributes
in lib/common/globals.h.

Wihout this commit, many errors like this would appear when linking
cluster:

/usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: ../../lib/edgepaint/.libs/libedgepaint_C.a(node_distinct_coloring.o): in function `node_distinct_coloring_internal2':
/home/magja/graphviz/lib/edgepaint/node_distinct_coloring.c:137: undefined reference to `__imp_Verbose'

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

3 years agogvmap: autotools: link to the gvc lib instead of the static common lib
Magnus Jacobsson [Tue, 14 Sep 2021 10:31:44 +0000 (12:31 +0200)]
gvmap: autotools: link to the gvc lib instead of the static common lib

The common lib is part of gvc and should not be linked to directly.

This will allow an upcoming MR to correct the storage class attributes
in lib/common/globals.h.

Wihout this commit, many errors like this would appear when linking
gvmap:

/usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: ../../lib/edgepaint/.libs/libedgepaint_C.a(node_distinct_coloring.o): in function `node_distinct_coloring_internal2':
/home/magja/graphviz/lib/edgepaint/node_distinct_coloring.c:137: undefined reference to `__imp_Verbose'

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

3 years agoplugin/pango: autotools: add linking to cgraph
Magnus Jacobsson [Sun, 12 Sep 2021 06:39:38 +0000 (08:39 +0200)]
plugin/pango: autotools: add linking to cgraph

E.g. plugin/pango/gvgetfontlist_pango.c uses agxbputc from
lib/cgraph/agxbuf.c.

Fixes errors like this with Cygwin:

/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: .libs/gvgetfontlist_pango.o: in function `agxbputc':
/cygdrive/c/GitLab-Runner/builds/magjac/graphviz/graphviz-2.49.1~dev.20210911.2106/plugin/pango/../../lib/cgraph/agxbuf.h:93: undefined reference to `agxbmore'

3 years agoplugin/visio: autotools: add linking to cgraph
Magnus Jacobsson [Fri, 10 Sep 2021 05:22:52 +0000 (07:22 +0200)]
plugin/visio: autotools: add linking to cgraph

E.g. VisioRender.cpp uses agroot from lib/cgraph/obj.c.

3 years agoplugin/core: autotools: add linking to xdot
Magnus Jacobsson [Thu, 9 Sep 2021 20:56:42 +0000 (22:56 +0200)]
plugin/core: autotools: add linking to xdot

E.g. plugin/core/gvrender_core_dot.c uses parseXDot from
lib/xdot/xdot.c.

Fixes these errors when building with Cygwin from the portable source
produced by the Ubuntu 18.03 runner in CI:

/cygdrive/c/GitLab-Runner/builds/magjac/graphviz/graphviz-2.49.1~dev.20210915.2014/plugin/core/gvrender_core_json.c:313: undefined reference to `parseXDot'
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: /cygdrive/c/GitLab-Runner/builds/magjac/graphviz/graphviz-2.49.1~dev.20210915.2014/plugin/core/gvrender_core_json.c:331: undefined reference to `freeXDot'

For some reason, this error did not show up when building using a
build system generated on Cygwin with autogen.sh.

3 years agolefty: autotools: don't try to build lefty when it's not possible
Magnus Jacobsson [Thu, 5 Aug 2021 16:08:13 +0000 (18:08 +0200)]
lefty: autotools: don't try to build lefty when it's not possible

Fixes this error with Cygwin:

In file included from garray.c:14:
../../../../cmd/lefty/g.h:20:10: fatal error: X11/Intrinsic.h: No such file or directory
   20 | #include <X11/Intrinsic.h>
      |          ^~~~~~~~~~~~~~~~~

3 years agoplugin/webp: autotools: add linking to gvc
Magnus Jacobsson [Sun, 22 Aug 2021 09:22:29 +0000 (11:22 +0200)]
plugin/webp: autotools: add linking to gvc

E.g. plugin/webp/gvloadimage_webp.c used gvusershape_file_access from
lib/gvc/gvusershape.c.

Fixes the following errors with Cygwin:

gvloadimage_webp.o: in function `webp_loadimage':
plugin/webp/gvloadimage_webp.c:139: undefined reference to `__imp_gvusershape_file_access'
plugin/webp/gvloadimage_webp.c:153: undefined reference to `__imp_gvusershape_file_release'
plugin/webp/gvloadimage_webp.c:153: undefined reference to `__imp_gvusershape_file_release'
gvdevice_webp.o: in function `writer':
plugin/webp/gvdevice_webp.c:43: undefined reference to `gvwrite'

3 years agoplugin/neato_layout: autotools: remove reference to nonexistent .def file
Magnus Jacobsson [Sat, 24 Jul 2021 12:03:09 +0000 (14:03 +0200)]
plugin/neato_layout: autotools: remove reference to nonexistent .def file

The gvplugin_neato_layout.def file has never existed in the git repo.

This reference was added in e74824c819a069dca2162c57deea96a7b3e5df1c,
but the .def file was never committed.

Fixes this error with MinGW:

libtool:   error: symbol file '../../plugin/neato_layout/gvplugin_neato_layout.def' does not exist

3 years agoMerge branch 'smattr/508C5931-2894-41DE-9B0F-C8B9CE32549B' into 'main'
Matthew Fernandez [Sun, 19 Sep 2021 18:59:55 +0000 (18:59 +0000)]
Merge branch 'smattr/508C5931-2894-41DE-9B0F-C8B9CE32549B' into 'main'

lefty clean up

See merge request graphviz/graphviz!2170

3 years agolefty SFclearList: abbreviate some float literals
Matthew Fernandez [Sat, 18 Sep 2021 01:59:12 +0000 (18:59 -0700)]
lefty SFclearList: abbreviate some float literals

3 years agolefty: remove no-op doLayout function
Matthew Fernandez [Sat, 18 Sep 2021 01:54:39 +0000 (18:54 -0700)]
lefty: remove no-op doLayout function

3 years agolefty: remove commented out code
Matthew Fernandez [Sat, 18 Sep 2021 01:53:55 +0000 (18:53 -0700)]
lefty: remove commented out code

3 years agolefty: remove some unnecessary casts
Matthew Fernandez [Sat, 18 Sep 2021 01:48:04 +0000 (18:48 -0700)]
lefty: remove some unnecessary casts

3 years agolefty SFstatAndCheck: use 'size_t' variables when dealing with buffer sizes
Matthew Fernandez [Sat, 18 Sep 2021 01:37:57 +0000 (18:37 -0700)]
lefty SFstatAndCheck: use 'size_t' variables when dealing with buffer sizes

Squashes two -Wconversion warnings and improves portability.

3 years agolefty SFgetDir: standardize 'qsort' usage
Matthew Fernandez [Sat, 18 Sep 2021 01:22:47 +0000 (18:22 -0700)]
lefty SFgetDir: standardize 'qsort' usage

The `qsort` function has been ISO standardized as far back as C89. There is no
need for workaround on any toolchain that correctly implements C99.

3 years agolefty SFcompareEntries: replace case-insensitive alternative with 'strcasecmp'
Matthew Fernandez [Sat, 18 Sep 2021 01:16:15 +0000 (18:16 -0700)]
lefty SFcompareEntries: replace case-insensitive alternative with 'strcasecmp'

This functionality is built in to libc these days.

3 years agolefty SFcompareEntries: remove some unnecessary casts
Matthew Fernandez [Sat, 18 Sep 2021 01:01:38 +0000 (18:01 -0700)]
lefty SFcompareEntries: remove some unnecessary casts

3 years agoMerge branch 'smattr/0232394D-4EE9-4B97-959C-70C6A25DB850' into 'main'
Matthew Fernandez [Sun, 19 Sep 2021 17:58:45 +0000 (17:58 +0000)]
Merge branch 'smattr/0232394D-4EE9-4B97-959C-70C6A25DB850' into 'main'

more -Wmissing-field-initializer warning squashing

See merge request graphviz/graphviz!2173

3 years agop_insulator: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:44:38 +0000 (15:44 -0700)]
p_insulator: squash a -Wmissing-field-initializer warning

3 years agop_utr: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:43:55 +0000 (15:43 -0700)]
p_utr: squash a -Wmissing-field-initializer warning

3 years agop_terminator: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:43:17 +0000 (15:43 -0700)]
p_terminator: squash a -Wmissing-field-initializer warning

3 years agop_cds: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:42:34 +0000 (15:42 -0700)]
p_cds: squash a -Wmissing-field-initializer warning

3 years agop_promoter: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:42:00 +0000 (15:42 -0700)]
p_promoter: squash a -Wmissing-field-initializer warning

3 years agop_star: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:41:01 +0000 (15:41 -0700)]
p_star: squash a -Wmissing-field-initializer warning

3 years agop_Mcircle: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:40:10 +0000 (15:40 -0700)]
p_Mcircle: squash a -Wmissing-field-initializer warning

3 years agop_Msquare: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:39:27 +0000 (15:39 -0700)]
p_Msquare: squash a -Wmissing-field-initializer warning

3 years agop_diamond: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:38:41 +0000 (15:38 -0700)]
p_diamond: squash a -Wmissing-field-initializer warning

3 years agop_tripleoctagon: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 18 Sep 2021 22:37:29 +0000 (15:37 -0700)]
p_tripleoctagon: squash a -Wmissing-field-initializer warning

3 years agoMerge branch 'smattr/51F91849-AB76-4338-A2A6-A23F67BF0727' into 'main'
Matthew Fernandez [Sun, 19 Sep 2021 16:57:09 +0000 (16:57 +0000)]
Merge branch 'smattr/51F91849-AB76-4338-A2A6-A23F67BF0727' into 'main'

more lefty cleanup

See merge request graphviz/graphviz!2172

3 years agolefty: remove unused 'PTR2INT' and 'INT2PTR' macros
Matthew Fernandez [Sat, 18 Sep 2021 22:33:58 +0000 (15:33 -0700)]
lefty: remove unused 'PTR2INT' and 'INT2PTR' macros

3 years agolefty SFcompareLogins: remove some unnecessary casts
Matthew Fernandez [Sat, 18 Sep 2021 22:31:54 +0000 (15:31 -0700)]
lefty SFcompareLogins: remove some unnecessary casts

3 years agolefty SFstrncmp: replace with strncasecmp
Matthew Fernandez [Sat, 18 Sep 2021 22:28:04 +0000 (15:28 -0700)]
lefty SFstrncmp: replace with strncasecmp

This functionality is built in to libc these days.

3 years agolefty SFgetHomeDirs: standardize 'qsort' usage
Matthew Fernandez [Sat, 18 Sep 2021 22:22:56 +0000 (15:22 -0700)]
lefty SFgetHomeDirs: standardize 'qsort' usage

The `qsort` function has been ISO standardized as far back as C89. There is no
need for workaround on any toolchain that correctly implements C99.

3 years agolefty: remove unnecessary getwd prototype
Matthew Fernandez [Sat, 18 Sep 2021 22:20:05 +0000 (15:20 -0700)]
lefty: remove unnecessary getwd prototype

The only use of this function was removed in
a4468a2a875dadaee313fb2a7333881cee85fb91.

3 years agoMerge branch 'smattr/0824fd6b-4a2f-49f4-99cc-ed8100eecba5' into 'main'
Matthew Fernandez [Sun, 19 Sep 2021 05:28:44 +0000 (05:28 +0000)]
Merge branch 'smattr/0824fd6b-4a2f-49f4-99cc-ed8100eecba5' into 'main'

yet more warning squashing

See merge request graphviz/graphviz!2166

3 years agosparse_stress_subspace_majorization_kD: replace a boolean with a C99 bool
Matthew Fernandez [Thu, 16 Sep 2021 04:22:40 +0000 (21:22 -0700)]
sparse_stress_subspace_majorization_kD: replace a boolean with a C99 bool

And reflow some text.

3 years agostress_majorization_kD_mkernel: replace a boolean with a C99 bool
Matthew Fernandez [Thu, 16 Sep 2021 04:21:12 +0000 (21:21 -0700)]
stress_majorization_kD_mkernel: replace a boolean with a C99 bool

And reflow some text.

3 years agodist_data: replace a boolean with a C99 bool
Matthew Fernandez [Thu, 16 Sep 2021 04:19:23 +0000 (21:19 -0700)]
dist_data: replace a boolean with a C99 bool

3 years agoget_mq: abbreviate a malloc;memzero
Matthew Fernandez [Thu, 16 Sep 2021 04:11:46 +0000 (21:11 -0700)]
get_mq: abbreviate a malloc;memzero

The calloc function can do this more concisely and efficiently.

3 years agoexisAssign: remove unnecessary bracketing
Matthew Fernandez [Thu, 16 Sep 2021 04:06:36 +0000 (21:06 -0700)]
exisAssign: remove unnecessary bracketing

3 years agoexpr lexname: return a 'const char*'
Matthew Fernandez [Thu, 16 Sep 2021 03:54:30 +0000 (20:54 -0700)]
expr lexname: return a 'const char*'

The callers of this do not modify the returned value. This squashes a
-Wcast-qual warning.

3 years agoexpr global: squash -Wunused-parameter warning
Matthew Fernandez [Thu, 16 Sep 2021 03:52:08 +0000 (20:52 -0700)]
expr global: squash -Wunused-parameter warning

3 years agoexpr global: remove unnecessary casts
Matthew Fernandez [Thu, 16 Sep 2021 03:51:24 +0000 (20:51 -0700)]
expr global: remove unnecessary casts

3 years agoexpr print: use a 'size_t' for iteration
Matthew Fernandez [Thu, 16 Sep 2021 03:50:13 +0000 (20:50 -0700)]
expr print: use a 'size_t' for iteration

Squashes a -Wsign-compare warning.

3 years agoexpr scan: use a 'size_t' for iteration
Matthew Fernandez [Thu, 16 Sep 2021 03:49:30 +0000 (20:49 -0700)]
expr scan: use a 'size_t' for iteration

Squashes a -Wsign-compare warning.

3 years agoMerge branch 'smattr/f7c14ca2-789a-46b0-b5f1-2cacd08dfbc5' into 'main'
Matthew Fernandez [Sun, 19 Sep 2021 03:48:08 +0000 (03:48 +0000)]
Merge branch 'smattr/f7c14ca2-789a-46b0-b5f1-2cacd08dfbc5' into 'main'

more warning squashing

See merge request graphviz/graphviz!2158

3 years agolu_decompose: remove unnecessary bracketing
Matthew Fernandez [Sat, 11 Sep 2021 17:12:37 +0000 (10:12 -0700)]
lu_decompose: remove unnecessary bracketing

3 years agolu_decompose: rephrase comparisons against 'biggest' to avoid equals
Matthew Fernandez [Sat, 11 Sep 2021 17:10:42 +0000 (10:10 -0700)]
lu_decompose: rephrase comparisons against 'biggest' to avoid equals

This squashes some -Wfloat-equal warnings, but has the same effect due to the
surrounding code ensuring `biggest` can only ever increase from 0.

3 years agolu_decompose: rephrase an open coded fmax
Matthew Fernandez [Sat, 11 Sep 2021 17:09:53 +0000 (10:09 -0700)]
lu_decompose: rephrase an open coded fmax

3 years agolu_decompose: remove micro-optimization of avoiding multiplication by 0
Matthew Fernandez [Sat, 11 Sep 2021 17:05:06 +0000 (10:05 -0700)]
lu_decompose: remove micro-optimization of avoiding multiplication by 0

This is not on a hot path and 0 multiplications are not costly on modern
processors. This squashes a -Wfloat-equal warning.

3 years agofind_ints: squash a -Wswitch-default warning
Matthew Fernandez [Sat, 11 Sep 2021 17:00:32 +0000 (10:00 -0700)]
find_ints: squash a -Wswitch-default warning

This switch on the result of a call to `gt` only ever results in -1, 1, or 0.
The 0 case was pretty clearly intended to be a no-op here.

3 years agoneatogen gt: rephrase into something more obvious
Matthew Fernandez [Sat, 11 Sep 2021 16:57:43 +0000 (09:57 -0700)]
neatogen gt: rephrase into something more obvious

This is intended to preserve the same semantics. It not only avoids two
-Wfloat-equal warnings, but makes this code so close to the leading comment that
the comment can simply be removed now.

3 years agoneatogen gt: rephrase to avoid having to cast pointers to this function
Matthew Fernandez [Sat, 11 Sep 2021 16:53:55 +0000 (09:53 -0700)]
neatogen gt: rephrase to avoid having to cast pointers to this function

3 years agoneatogen between: rephrase to avoid -Wfloat-equal warnings
Matthew Fernandez [Sat, 11 Sep 2021 16:43:33 +0000 (09:43 -0700)]
neatogen between: rephrase to avoid -Wfloat-equal warnings

This is intended to have the same semantics.

3 years agofind_ints: remove unused 'polygon_list' parameter
Matthew Fernandez [Sat, 11 Sep 2021 16:34:52 +0000 (09:34 -0700)]
find_ints: remove unused 'polygon_list' parameter

3 years agouse a header with prototypes to squash bindings -Wmissing-prototypes warnings
Matthew Fernandez [Sat, 11 Sep 2021 16:30:14 +0000 (09:30 -0700)]
use a header with prototypes to squash bindings -Wmissing-prototypes warnings

This removes 30 build warnings and is generally a cleaner way of doing this.

3 years agoMerge branch 'smattr/25F2CD31-80C6-48D6-A6EE-9D7EEEB2FA14' into 'main'
Matthew Fernandez [Sun, 19 Sep 2021 02:18:41 +0000 (02:18 +0000)]
Merge branch 'smattr/25F2CD31-80C6-48D6-A6EE-9D7EEEB2FA14' into 'main'

smyrna: remove unused materials.h

See merge request graphviz/graphviz!2160

3 years agosmyrna: remove unused materials.h
Matthew Fernandez [Tue, 14 Sep 2021 00:01:45 +0000 (17:01 -0700)]
smyrna: remove unused materials.h

3 years agoMerge branch 'smattr/FDB29D45-8A65-4119-B80E-24C4F73985C5' into 'main'
Matthew Fernandez [Sun, 19 Sep 2021 01:12:07 +0000 (01:12 +0000)]
Merge branch 'smattr/FDB29D45-8A65-4119-B80E-24C4F73985C5' into 'main'

more smyrna clean up

See merge request graphviz/graphviz!2161

3 years agoMerge branch 'windows' into 'main'
Mark Hansen [Sun, 19 Sep 2021 01:01:51 +0000 (01:01 +0000)]
Merge branch 'windows' into 'main'

Update schema of generated deploy.py JSON

See merge request graphviz/graphviz!2174

3 years agoUpdate schema of generated deploy.py JSON
Mark Hansen [Sat, 18 Sep 2021 23:12:59 +0000 (09:12 +1000)]
Update schema of generated deploy.py JSON

I've updated the schema in the docs dir, to make room for Windows releases in here.

I haven't filled in the windows array yet.

3 years agosmyrna: remove unused hotkey macros
Matthew Fernandez [Tue, 14 Sep 2021 01:48:38 +0000 (18:48 -0700)]
smyrna: remove unused hotkey macros

3 years agosmyrna: remove unused 'get_key_action'
Matthew Fernandez [Tue, 14 Sep 2021 01:47:18 +0000 (18:47 -0700)]
smyrna: remove unused 'get_key_action'

3 years agosmyrna: remove unused LOCATION_X macros
Matthew Fernandez [Tue, 14 Sep 2021 01:43:55 +0000 (18:43 -0700)]
smyrna: remove unused LOCATION_X macros

3 years agosmyrna: remove unused tvnode types
Matthew Fernandez [Tue, 14 Sep 2021 01:42:32 +0000 (18:42 -0700)]
smyrna: remove unused tvnode types

3 years agosmyrna: remove 'attach_camera_widget' prototype
Matthew Fernandez [Tue, 14 Sep 2021 01:39:29 +0000 (18:39 -0700)]
smyrna: remove 'attach_camera_widget' prototype

This function is not implemented.

3 years agosmyrna: remove unused 'countof' macro
Matthew Fernandez [Tue, 14 Sep 2021 00:20:48 +0000 (17:20 -0700)]
smyrna: remove unused 'countof' macro

3 years agosmyrna apply_actions: remove useless break statement
Matthew Fernandez [Tue, 14 Sep 2021 00:20:27 +0000 (17:20 -0700)]
smyrna apply_actions: remove useless break statement

3 years agosmyrna: remove unused 'setGdkColor'
Matthew Fernandez [Tue, 14 Sep 2021 00:17:07 +0000 (17:17 -0700)]
smyrna: remove unused 'setGdkColor'

3 years agosmyrna realize: remove useless trailing return statement
Matthew Fernandez [Tue, 14 Sep 2021 00:16:34 +0000 (17:16 -0700)]
smyrna realize: remove useless trailing return statement

3 years agosmyrna: remove some commented out prototypes
Matthew Fernandez [Tue, 14 Sep 2021 00:16:15 +0000 (17:16 -0700)]
smyrna: remove some commented out prototypes

3 years agoMerge branch 'smattr/d8544aa0-66a2-485d-bc01-4017f399a188' into 'main'
Matthew Fernandez [Sat, 18 Sep 2021 23:13:11 +0000 (23:13 +0000)]
Merge branch 'smattr/d8544aa0-66a2-485d-bc01-4017f399a188' into 'main'

progress on removing sfio

See merge request graphviz/graphviz!2154

3 years agogvpr mkStmts: use internal temporary buffers instead of sfio
Matthew Fernandez [Sat, 11 Sep 2021 19:05:23 +0000 (12:05 -0700)]
gvpr mkStmts: use internal temporary buffers instead of sfio

This simplifies code, progresses the ongoing sfio removal goal, and also makes
it more obvious to the compiler how to optimize this code.

Related to #1873, #1998.

3 years agogvpr mkStmts: make 'lbl' parameter const
Matthew Fernandez [Sat, 11 Sep 2021 18:30:29 +0000 (11:30 -0700)]
gvpr mkStmts: make 'lbl' parameter const

The pointed to data is not modified within this function.

3 years agogvpr mkBlock: remove an unnecessary use of an sfio buffer
Matthew Fernandez [Sat, 11 Sep 2021 18:27:30 +0000 (11:27 -0700)]
gvpr mkBlock: remove an unnecessary use of an sfio buffer

Related to #1873, #1998.

3 years agogvpr mkBlock: more precise bounds on internal buffers
Matthew Fernandez [Sat, 11 Sep 2021 18:50:08 +0000 (11:50 -0700)]
gvpr mkBlock: more precise bounds on internal buffers

On most platforms, `BUFSIZ` is likely large enough to contain the data printed
to it. But since we know the exact data that is placed in these buffers, we can
write this code more portably.

3 years agoexpose itos buffer size as a constant
Matthew Fernandez [Sat, 11 Sep 2021 18:40:05 +0000 (11:40 -0700)]
expose itos buffer size as a constant

Elsewhere in Graphviz we sometimes need to print ints into fixed sized buffers,
but not using itos. So it is useful to have a value for the number of bytes this
requires that is also regularly validated by the Graphviz test suite. That is,
uses of this constant should be robust to future environment/platform changes,
because the itos tests will fail, prompting an update of this constant, that
will then correctly affect all usages of this.

3 years agogvpr mkBlock: scope a buffer closer to its uses
Matthew Fernandez [Sat, 11 Sep 2021 18:23:08 +0000 (11:23 -0700)]
gvpr mkBlock: scope a buffer closer to its uses

3 years agogvpr compile: make 'lbl' parameter const
Matthew Fernandez [Sat, 11 Sep 2021 18:16:40 +0000 (11:16 -0700)]
gvpr compile: make 'lbl' parameter const

The pointed to data is not modified within this function.

3 years agogvpr compileProg: remove now unnecessary 'strdup'
Matthew Fernandez [Sat, 11 Sep 2021 18:12:51 +0000 (11:12 -0700)]
gvpr compileProg: remove now unnecessary 'strdup'

Now that the backing memory for `endgsfx` is no longer hosted in a temporary
sfio buffer that may be overwritten, there is no need to duplicate this further.

3 years agogvpr doFlags: rewrite to avoid dynamic memory allocation
Matthew Fernandez [Sat, 11 Sep 2021 18:07:25 +0000 (11:07 -0700)]
gvpr doFlags: rewrite to avoid dynamic memory allocation

There is no need for this function to go through the overhead of sfio and
dynamic string construction just for this simple logic.

Related to #1873, #1998.

3 years agogvpr compileProg: remove some dead code
Matthew Fernandez [Sat, 11 Sep 2021 18:00:05 +0000 (11:00 -0700)]
gvpr compileProg: remove some dead code

The `doFlags` function, at a minimum, prints "\n" into its buffer so there is
never a case when the result is an empty string.

3 years agoremove unused 'ptchk' function
Matthew Fernandez [Sat, 11 Sep 2021 17:57:21 +0000 (10:57 -0700)]
remove unused 'ptchk' function

3 years agogvpr compile: make 'sfx' parameter const
Matthew Fernandez [Sat, 11 Sep 2021 17:54:13 +0000 (10:54 -0700)]
gvpr compile: make 'sfx' parameter const

The pointed to data is not modified within this function.

3 years agoMerge branch 'smattr/0d085d9e-4d11-43b3-9d0c-d940e49e10d5' into 'main'
Matthew Fernandez [Sat, 18 Sep 2021 21:35:58 +0000 (21:35 +0000)]
Merge branch 'smattr/0d085d9e-4d11-43b3-9d0c-d940e49e10d5' into 'main'

rewrite `INT2PTR` and `PTR2INT` as functions

See merge request graphviz/graphviz!2153

3 years ago lib/gvpr/compile.c: rewrite 'PTR2INT' macro as a function
Matthew Fernandez [Sat, 11 Sep 2021 19:31:39 +0000 (12:31 -0700)]
 lib/gvpr/compile.c: rewrite 'PTR2INT' macro as a function

This is more straightforward, type safe, and shorter. This also squashes 13
-Wbad-function-cast compiler warnings.

3 years agolib/gvpr/compile.c: rewrite 'INT2PTR' macro as a function
Matthew Fernandez [Sat, 11 Sep 2021 19:26:07 +0000 (12:26 -0700)]
lib/gvpr/compile.c: rewrite 'INT2PTR' macro as a function

This is more straightforward, type safe, and shorter.

3 years agoMerge branch 'smattr/1c348b36-65e2-4302-b77e-2c0e358a9066' into 'main'
Matthew Fernandez [Sat, 18 Sep 2021 20:33:35 +0000 (20:33 +0000)]
Merge branch 'smattr/1c348b36-65e2-4302-b77e-2c0e358a9066' into 'main'

squash some -Wmissing-field-initializer warnings

See merge request graphviz/graphviz!2152

3 years agop_doubleoctagon: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 16:04:04 +0000 (09:04 -0700)]
p_doubleoctagon: squash a -Wmissing-field-initializer warning

3 years agop_invhouse: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 16:03:03 +0000 (09:03 -0700)]
p_invhouse: squash a -Wmissing-field-initializer warning

3 years agop_invtrapezium: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 16:01:56 +0000 (09:01 -0700)]
p_invtrapezium: squash a -Wmissing-field-initializer warning

3 years agop_invtriangle: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 16:00:42 +0000 (09:00 -0700)]
p_invtriangle: squash a -Wmissing-field-initializer warning

3 years agop_doublecircle: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 15:59:42 +0000 (08:59 -0700)]
p_doublecircle: squash a -Wmissing-field-initializer warning

3 years agop_cylinder: squash -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 15:58:45 +0000 (08:58 -0700)]
p_cylinder: squash -Wmissing-field-initializer warning

3 years agop_underline: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 15:57:04 +0000 (08:57 -0700)]
p_underline: squash a -Wmissing-field-initializer warning

3 years agop_component: squash -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 15:56:18 +0000 (08:56 -0700)]
p_component: squash -Wmissing-field-initializer warning

3 years agop_box3d: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 15:54:46 +0000 (08:54 -0700)]
p_box3d: squash a -Wmissing-field-initializer warning

3 years agop_folder: squash a -Wmissing-field-initializer warning
Matthew Fernandez [Sat, 11 Sep 2021 15:53:55 +0000 (08:53 -0700)]
p_folder: squash a -Wmissing-field-initializer warning

3 years agoMerge branch 'smattr/f144d6f4-ad9a-4600-815b-d8a29575145d' into 'main'
Matthew Fernandez [Sat, 18 Sep 2021 18:14:25 +0000 (18:14 +0000)]
Merge branch 'smattr/f144d6f4-ad9a-4600-815b-d8a29575145d' into 'main'

teach the Autotools build system that PHP headers are not part of Graphviz

See merge request graphviz/graphviz!2155

3 years agoteach the Autotools build system that PHP headers are not part of Graphviz
Matthew Fernandez [Sat, 11 Sep 2021 23:59:48 +0000 (16:59 -0700)]
teach the Autotools build system that PHP headers are not part of Graphviz

tl;dr: this removes 166 spurious compiler warnings.

When building the Graphviz PHP bindings, PHP headers are included and the build
system was treating these as local includes; things to be warned about. With PHP
7, this was generating a *lot* of warnings. Many of these issues are already
fixed upstream in PHP but, moreover, these files are not part of Graphviz and
warnings about them should not be part of the Graphviz build.

This commit teaches the compiler that the PHP headers are system headers, not
local headers, and warnings about them should be suppressed.

Some open questions:

  1. I explored finding an alternative `--includes` option to `php-config` that
     would give `-isystem` prefixed paths instead of `-I` prefixed paths. It
     would be cleaner than this commit to do such a thing in configure.ac, but
     such an option does not appear to exist.

  2. Vim highlights the use of `$(patsubst …)` as if it is an error. Is it
     illegal to use GNU Make functions in Makefile.am files? I do not think so,
     but given how long both Autotools and Vim have co-existed for, I am
     wondering if this highlighting is deliberate and telling me something I am
     missing.