]> granicus.if.org Git - graphviz/log
graphviz
2 years agoAPI BREAK: use C99 bools for 'port' fields instead of booleans
Matthew Fernandez [Sat, 15 Jan 2022 17:51:44 +0000 (09:51 -0800)]
API BREAK: use C99 bools for 'port' fields instead of booleans

2 years agoAPI BREAK: use a C99 bool for 'isOrtho' instead of a boolean
Matthew Fernandez [Sat, 15 Jan 2022 17:38:05 +0000 (09:38 -0800)]
API BREAK: use a C99 bool for 'isOrtho' instead of a boolean

2 years agoAPI BREAK: use a C99 bool for 'ignoreSwap' instead of a boolean
Matthew Fernandez [Sat, 15 Jan 2022 17:33:10 +0000 (09:33 -0800)]
API BREAK: use a C99 bool for 'ignoreSwap' instead of a boolean

2 years agoAPI BREAK: return a C99 bool from 'swapEnds instead of a boolean
Matthew Fernandez [Sat, 15 Jan 2022 17:27:39 +0000 (09:27 -0800)]
API BREAK: return a C99 bool from 'swapEnds instead of a boolean

2 years agoAPI BREAK: return a C99 bool from 'splineMerge' instead of a boolean
Matthew Fernandez [Sat, 15 Jan 2022 17:19:21 +0000 (09:19 -0800)]
API BREAK: return a C99 bool from 'splineMerge' instead of a boolean

2 years agoAPI BREAK: return a C99 bool from 'insidefn' instead of a boolean
Matthew Fernandez [Sat, 15 Jan 2022 17:10:03 +0000 (09:10 -0800)]
API BREAK: return a C99 bool from 'insidefn' instead of a boolean

2 years agoMerge branch 'smattr/449D4938-41BE-4359-B1B0-6C19D1570E24' into 'main'
Matthew Fernandez [Sat, 15 Jan 2022 22:27:19 +0000 (22:27 +0000)]
Merge branch 'smattr/449D4938-41BE-4359-B1B0-6C19D1570E24' into 'main'

some Python tweaks to test code

See merge request graphviz/graphviz!2398

2 years agoshell-quote commands echoed during testing
Matthew Fernandez [Tue, 11 Jan 2022 01:23:49 +0000 (17:23 -0800)]
shell-quote commands echoed during testing

It is not typical that testing paths will contain things like spaces and other
characters that require quoting. But this change goes the extra mile to make
sure these echoed commands are always copy-pastable to re-execute them.

2 years agorun_c: [nfc] factor out an array addition
Matthew Fernandez [Sat, 15 Jan 2022 20:59:54 +0000 (12:59 -0800)]
run_c: [nfc] factor out an array addition

This will make an upcoming commit clearer and more concise.

2 years agorun_c: check return code of compiled program before returning
Matthew Fernandez [Tue, 11 Jan 2022 01:05:58 +0000 (17:05 -0800)]
run_c: check return code of compiled program before returning

Every call to `run_c` was immediately checking that the compiled program
succeeded. So by moving the check inside `run_c` itself we can write more
concise test cases.

2 years agoMerge branch 'smattr/5dbb61ed-6813-47f4-918d-6a6047f05fa9' into 'main'
Matthew Fernandez [Sat, 15 Jan 2022 18:13:38 +0000 (18:13 +0000)]
Merge branch 'smattr/5dbb61ed-6813-47f4-918d-6a6047f05fa9' into 'main'

simplification and reduction of macros

See merge request graphviz/graphviz!2402

2 years agoremove no-op 'agattrrec' casts
Matthew Fernandez [Fri, 14 Jan 2022 02:05:26 +0000 (18:05 -0800)]
remove no-op 'agattrrec' casts

2 years agoremove no-op 'agdatadict' casts
Matthew Fernandez [Fri, 14 Jan 2022 02:05:10 +0000 (18:05 -0800)]
remove no-op 'agdatadict' casts

2 years agoAPI BREAK: remove 'NIL' macros
Matthew Fernandez [Fri, 14 Jan 2022 01:58:05 +0000 (17:58 -0800)]
API BREAK: remove 'NIL' macros

2 years agoremove use of 'NIL'
Matthew Fernandez [Fri, 14 Jan 2022 01:50:17 +0000 (17:50 -0800)]
remove use of 'NIL'

2 years agouse C99 initialization to simplify 'Dtdisc_t' definitions
Matthew Fernandez [Fri, 14 Jan 2022 01:46:02 +0000 (17:46 -0800)]
use C99 initialization to simplify 'Dtdisc_t' definitions

2 years agoAPI BREAK: remove 'NOT' macro
Matthew Fernandez [Fri, 14 Jan 2022 01:08:48 +0000 (17:08 -0800)]
API BREAK: remove 'NOT' macro

2 years agoMerge branch 'smattr/7e470f6a-2599-44f5-92e8-0d1f12a223ff' into 'main'
Matthew Fernandez [Sat, 15 Jan 2022 17:12:50 +0000 (17:12 +0000)]
Merge branch 'smattr/7e470f6a-2599-44f5-92e8-0d1f12a223ff' into 'main'

move lib/mingle/edge_bundling.c to C++

See merge request graphviz/graphviz!2401

2 years agoedge_compatibility_full: use a C++ bool for 'flipped'
Matthew Fernandez [Thu, 13 Jan 2022 04:38:44 +0000 (20:38 -0800)]
edge_compatibility_full: use a C++ bool for 'flipped'

Gitlab: #2154

2 years agoedge_compatibility: use a C++ bool for 'flipped'
Matthew Fernandez [Thu, 13 Jan 2022 04:37:48 +0000 (20:37 -0800)]
edge_compatibility: use a C++ bool for 'flipped'

Gitlab: #2154

2 years agoremove unused 'pedge_export_mma'
Matthew Fernandez [Thu, 13 Jan 2022 04:34:33 +0000 (20:34 -0800)]
remove unused 'pedge_export_mma'

2 years agoremove unused 'pedge_realloc'
Matthew Fernandez [Thu, 13 Jan 2022 04:33:42 +0000 (20:33 -0800)]
remove unused 'pedge_realloc'

2 years agoforce_directed_edge_bundling: remove useless '1*'
Matthew Fernandez [Thu, 13 Jan 2022 04:32:01 +0000 (20:32 -0800)]
force_directed_edge_bundling: remove useless '1*'

2 years agoforce_directed_edge_bundling: remove manual memory management of 'force_a'
Matthew Fernandez [Thu, 13 Jan 2022 04:30:49 +0000 (20:30 -0800)]
force_directed_edge_bundling: remove manual memory management of 'force_a'

Gitlab: #2154

2 years agoforce_directed_edge_bundling: remove manual memory management of 'force_t'
Matthew Fernandez [Thu, 13 Jan 2022 04:28:03 +0000 (20:28 -0800)]
force_directed_edge_bundling: remove manual memory management of 'force_t'

Gitlab: #2154

2 years agoremove unused 'pedge_flip'
Matthew Fernandez [Thu, 13 Jan 2022 04:22:11 +0000 (20:22 -0800)]
remove unused 'pedge_flip'

2 years agolib/mingle/edge_bundling.cpp: replace 'MIN' with 'std::min'
Matthew Fernandez [Thu, 13 Jan 2022 04:18:21 +0000 (20:18 -0800)]
lib/mingle/edge_bundling.cpp: replace 'MIN' with 'std::min'

Gitlab: #2154

2 years agolib/mingle/edge_bundling.cpp: replace 'MAX' with 'std::max'
Matthew Fernandez [Thu, 13 Jan 2022 04:17:31 +0000 (20:17 -0800)]
lib/mingle/edge_bundling.cpp: replace 'MAX' with 'std::max'

Gitlab: #2154

2 years agolib/mingle: move 'edge_bundling.c' into C++
Matthew Fernandez [Thu, 13 Jan 2022 04:03:44 +0000 (20:03 -0800)]
lib/mingle: move 'edge_bundling.c' into C++

This is a straight rename. No C++-specific changes yet.

Github: #2154

2 years agoforce_directed_edge_bundling: suppress -Wunused-parameter warning
Matthew Fernandez [Thu, 13 Jan 2022 04:07:34 +0000 (20:07 -0800)]
force_directed_edge_bundling: suppress -Wunused-parameter warning

2 years agolib/mingle/edge_bundling.c: explicitly cast the results of 'realloc'
Matthew Fernandez [Thu, 13 Jan 2022 04:06:36 +0000 (20:06 -0800)]
lib/mingle/edge_bundling.c: explicitly cast the results of 'realloc'

This has no effect in C, but this is pre-emptively squashing some warnings that
appear when moving this file to C++.

Gitlab: #2154

2 years agolib/mingle/edge_bundling.c: explicitly cast the results of 'malloc'
Matthew Fernandez [Thu, 13 Jan 2022 03:54:02 +0000 (19:54 -0800)]
lib/mingle/edge_bundling.c: explicitly cast the results of 'malloc'

This has no effect in C, but this is pre-emptively squashing some warnings that
appear when moving this file to C++.

Gitlab: #2154

2 years agoMerge branch 'smattr/36cf258d-8d34-4eb5-a1f1-601aab72970e' into 'main'
Matthew Fernandez [Sat, 15 Jan 2022 16:13:47 +0000 (16:13 +0000)]
Merge branch 'smattr/36cf258d-8d34-4eb5-a1f1-601aab72970e' into 'main'

more boolean → C99 bool modernization, and a bitarray optimization

See merge request graphviz/graphviz!2399

2 years agostandardize on C99 bool literals for calling 'agbindrec'
Matthew Fernandez [Wed, 12 Jan 2022 03:57:23 +0000 (19:57 -0800)]
standardize on C99 bool literals for calling 'agbindrec'

2 years agogvrender_core_pic.c: use a C99 bool for global 'onetime'
Matthew Fernandez [Wed, 12 Jan 2022 03:35:08 +0000 (19:35 -0800)]
gvrender_core_pic.c: use a C99 bool for global 'onetime'

2 years agouse C99 bool literals to set 'polygon_t.regular'
Matthew Fernandez [Wed, 12 Jan 2022 03:34:39 +0000 (19:34 -0800)]
use C99 bool literals to set 'polygon_t.regular'

2 years agoinit_nop: use a C99 bool for local 'didShift'
Matthew Fernandez [Wed, 12 Jan 2022 03:30:26 +0000 (19:30 -0800)]
init_nop: use a C99 bool for local 'didShift'

2 years agoimplement Small String Optimization in the bitarray API
Matthew Fernandez [Wed, 12 Jan 2022 04:59:58 +0000 (20:59 -0800)]
implement Small String Optimization in the bitarray API

Following the prior commit, this further reduces memory usage. On e.g. x86-64,
arrays of ≤ 64 bits can be managed fully on the stack.

2 years agosimplify bitarray API to assume arrays are only resized at construction time
Matthew Fernandez [Wed, 12 Jan 2022 04:35:16 +0000 (20:35 -0800)]
simplify bitarray API to assume arrays are only resized at construction time

The bit array API was written to allow arbitrary growing or shrinking of an
array after its construction, while maintaining its content. After fully rolling
it out, it turns out Graphviz only ever creates such arrays once at a fixed size
and then uses them until free. Carrying a more generic API than was necessary
had a number of negative consequences:

  1. `bitarray_resize` was more complicated than it needed to be, in order to
     cope with an arbitrary initial size of the input array.

  2. `bitarray_resize` used `realloc;memset` instead of the more efficient
     `calloc` because it was assuming the caller needed to maintain the original
     content.

  3. `bitarray_resize` performed a “loose” allocation with the capacity of the
     backing buffer larger than the size of the array itself, assuming that
     amortizing allocation costs across repeated resizes was a relevant concern.
     Dropping this and making the allocation “tight” not only reduces heap
     pressure, but allows dropping the `.capacity` member.

  4. `bitarray_array_resize_or_exit` had a more awkward calling convention than
     necessary, as exemplified by how it is streamlined in this commit.

As such, this change not only simplifies the code but also reduces memory usage.

2 years agocluster_map: replace boolean array 'assigned' with a bit array
Matthew Fernandez [Wed, 12 Jan 2022 03:28:26 +0000 (19:28 -0800)]
cluster_map: replace boolean array 'assigned' with a bit array

This is more memory efficient.

2 years agodijkstra_bounded: replace boolean array 'node_in_neighborhood' with a bit array
Matthew Fernandez [Wed, 12 Jan 2022 03:21:47 +0000 (19:21 -0800)]
dijkstra_bounded: replace boolean array 'node_in_neighborhood' with a bit array

This is more memory efficient. This also undoes the retention and reuse of this
array making its live range more obvious to the compiler.

2 years agoMerge branch 'add-mingw-static-autotools-build-jobs' into 'main'
Magnus Jacobsson [Wed, 12 Jan 2022 08:47:58 +0000 (08:47 +0000)]
Merge branch 'add-mingw-static-autotools-build-jobs' into 'main'

Unfify the last storage class attribute declarations and add MinGW static autotools builds

Closes #2173

See merge request graphviz/graphviz!2397

2 years agoci: add MinGW32 static autotools build jobs
Magnus Jacobsson [Tue, 11 Jan 2022 17:16:56 +0000 (18:16 +0100)]
ci: add MinGW32 static autotools build jobs

2 years agoci: add MinGW64 static autotools build jobs
Magnus Jacobsson [Sun, 2 Jan 2022 16:57:40 +0000 (17:57 +0100)]
ci: add MinGW64 static autotools build jobs

2 years agoci/build.sh: autotools: add support building using autogen in static builds
Magnus Jacobsson [Mon, 3 Jan 2022 09:55:59 +0000 (10:55 +0100)]
ci/build.sh: autotools: add support building using autogen in static builds

2 years agoci: add support for configure options in out-of-source-configure.sh
Magnus Jacobsson [Sun, 2 Jan 2022 16:55:30 +0000 (17:55 +0100)]
ci: add support for configure options in out-of-source-configure.sh

2 years agogvpack: use GVDLL instead of _WIN32 to enable dllimport storage-class attribute in...
Magnus Jacobsson [Mon, 3 Jan 2022 08:32:48 +0000 (09:32 +0100)]
gvpack: use GVDLL instead of _WIN32 to enable dllimport storage-class attribute in gvpack.c

Fixes these errors when building statically with MinGW:

C:/tools/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: gvpack_static-gvpack.o: in function `main':
C:\Users\magja\graphviz\cmd\tools/gvpack.c:857: undefined reference to `__imp_gvplugin_neato_layout_LTX_library'
collect2.exe: error: ld returned 1 exit status
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 `main':
C:\Users\magja\graphviz\cmd\tools/gvpack.c:857: undefined reference to `__imp_gvplugin_neato_layout_LTX_library'

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

2 years agogdtclft: use only GVDLL to enable dllexport storage-class attribute for Gdtclft_SafeInit
Magnus Jacobsson [Sun, 2 Jan 2022 18:35:05 +0000 (19:35 +0100)]
gdtclft: use only GVDLL to enable dllexport storage-class attribute for Gdtclft_SafeInit

Instead of using __CYGWIN__ and __WIN32__, rely on that GVDLL is
correctly set for all platforms.

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

2 years agogdtclft: use only GVDLL to enable dllexport storage-class attribute for Gdtclft_Init
Magnus Jacobsson [Sun, 2 Jan 2022 18:35:05 +0000 (19:35 +0100)]
gdtclft: use only GVDLL to enable dllexport storage-class attribute for Gdtclft_Init

Instead of using __CYGWIN__ and __WIN32__, rely on that GVDLL is
correctly set for all platforms.

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

2 years agoMerge branch 'smattr/c144f079-34fb-4177-84dd-821809ad0a39' into 'main'
Matthew Fernandez [Wed, 12 Jan 2022 02:16:38 +0000 (02:16 +0000)]
Merge branch 'smattr/c144f079-34fb-4177-84dd-821809ad0a39' into 'main'

more boolean → bool modernization

See merge request graphviz/graphviz!2396

2 years agogvprintnum: use C99 bools for locals 'showzeros', 'negative'
Matthew Fernandez [Tue, 11 Jan 2022 04:59:36 +0000 (20:59 -0800)]
gvprintnum: use C99 bools for locals 'showzeros', 'negative'

2 years agogvdevice_finalize: use a C99 bool for local 'finalized_p'
Matthew Fernandez [Tue, 11 Jan 2022 04:58:06 +0000 (20:58 -0800)]
gvdevice_finalize: use a C99 bool for local 'finalized_p'

2 years agosetbounds: use C99 bools for locals 'onleft', 'onright'
Matthew Fernandez [Tue, 11 Jan 2022 04:56:57 +0000 (20:56 -0800)]
setbounds: use C99 bools for locals 'onleft', 'onright'

2 years agoaddLabelBB: use a C99 bool for parameter 'flipxy'
Matthew Fernandez [Tue, 11 Jan 2022 04:55:19 +0000 (20:55 -0800)]
addLabelBB: use a C99 bool for parameter 'flipxy'

2 years agosafefile: use a C99 bool for local 'onetime'
Matthew Fernandez [Tue, 11 Jan 2022 04:51:13 +0000 (20:51 -0800)]
safefile: use a C99 bool for local 'onetime'

2 years agoshape_clip: use a C99 bool for local 'left_inside'
Matthew Fernandez [Tue, 11 Jan 2022 04:50:18 +0000 (20:50 -0800)]
shape_clip: use a C99 bool for local 'left_inside'

2 years agopoint_gencode: use a C99 bool for local 'filled'
Matthew Fernandez [Tue, 11 Jan 2022 04:48:46 +0000 (20:48 -0800)]
point_gencode: use a C99 bool for local 'filled'

2 years agopoly_gencode: use a C99 bool for local 'pfilled'
Matthew Fernandez [Tue, 11 Jan 2022 04:47:04 +0000 (20:47 -0800)]
poly_gencode: use a C99 bool for local 'pfilled'

2 years agocompassPort: use a C99 bool for local 'defined'
Matthew Fernandez [Tue, 11 Jan 2022 04:46:10 +0000 (20:46 -0800)]
compassPort: use a C99 bool for local 'defined'

2 years agocompassPort: use a C99 bool for local 'clip'
Matthew Fernandez [Tue, 11 Jan 2022 04:44:11 +0000 (20:44 -0800)]
compassPort: use a C99 bool for local 'clip'

2 years agocompassPort: use a C99 bool for local 'dyna'
Matthew Fernandez [Tue, 11 Jan 2022 04:40:37 +0000 (20:40 -0800)]
compassPort: use a C99 bool for local 'dyna'

2 years agocompassPort: use a C99 bool for local 'constrain'
Matthew Fernandez [Tue, 11 Jan 2022 04:37:01 +0000 (20:37 -0800)]
compassPort: use a C99 bool for local 'constrain'

2 years agoobj_state_s: set 1-bit bitfield with with C99 bool literals
Matthew Fernandez [Tue, 11 Jan 2022 04:31:53 +0000 (20:31 -0800)]
obj_state_s: set 1-bit bitfield with with C99 bool literals

2 years agonodeIntersect: take a C99 bool for 'explicit_tooltip'
Matthew Fernandez [Tue, 11 Jan 2022 04:28:34 +0000 (20:28 -0800)]
nodeIntersect: take a C99 bool for 'explicit_tooltip'

2 years agonodeIntersect: take a C99 bool for 'explicit_iurl'
Matthew Fernandez [Tue, 11 Jan 2022 04:23:37 +0000 (20:23 -0800)]
nodeIntersect: take a C99 bool for 'explicit_iurl'

2 years agohandle_keypress: return a C99 bool instead of boolean
Matthew Fernandez [Tue, 11 Jan 2022 04:17:50 +0000 (20:17 -0800)]
handle_keypress: return a C99 bool instead of boolean

2 years agoMerge branch 'install-cygwin-from-cygwin.com' into 'main'
Magnus Jacobsson [Tue, 11 Jan 2022 18:51:39 +0000 (18:51 +0000)]
Merge branch 'install-cygwin-from-cygwin.com' into 'main'

CI: install Cygwin from cygwin.com instead of with choco

See merge request graphviz/graphviz!2395

2 years agoci: install cygwin from cygwin.com instead of with choco
Magnus Jacobsson [Sun, 9 Jan 2022 22:40:41 +0000 (23:40 +0100)]
ci: install cygwin from cygwin.com instead of with choco

2 years agoMerge branch 'smattr/9e86e6dc-0b65-411e-af31-5cb7d722ec63' into 'main'
Matthew Fernandez [Tue, 11 Jan 2022 16:48:49 +0000 (16:48 +0000)]
Merge branch 'smattr/9e86e6dc-0b65-411e-af31-5cb7d722ec63' into 'main'

move lib/mingle/nearest_neighbor_graph.c into C++

See merge request graphviz/graphviz!2384

2 years agonearest_neighbor_graph_ann: take array parameters as vector instead of C arrays
Matthew Fernandez [Sat, 8 Jan 2022 19:04:08 +0000 (11:04 -0800)]
nearest_neighbor_graph_ann: take array parameters as vector instead of C arrays

Now that all calls to this function are in C++, there is no need to degrade to C
data types when calling into it.

Gitlab: #2154

2 years agonearest_neighbor_graph_ann: remove forcing of C linkage
Matthew Fernandez [Sat, 8 Jan 2022 18:59:48 +0000 (10:59 -0800)]
nearest_neighbor_graph_ann: remove forcing of C linkage

The only calls into this function are from C++ code now, so there is no need to
require C calling conventions.

Gitlab: #2154

2 years agonearest_neighbor_graph: remove manual memory management
Matthew Fernandez [Sat, 8 Jan 2022 18:57:35 +0000 (10:57 -0800)]
nearest_neighbor_graph: remove manual memory management

Gitlab: #2154

2 years agonearest_neighbor_graph_ann: remove a level of indirection on array parameters
Matthew Fernandez [Sat, 8 Jan 2022 18:54:46 +0000 (10:54 -0800)]
nearest_neighbor_graph_ann: remove a level of indirection on array parameters

None of these parameters are updated during `nearest_neighbor_graph_ann`, so
taking them by pointer is irrelevant.

2 years agomove lib/mingle/nearest_neighbor_graph.c to C++
Matthew Fernandez [Sat, 8 Jan 2022 18:46:01 +0000 (10:46 -0800)]
move lib/mingle/nearest_neighbor_graph.c to C++

This is straight renaming; no C++ adaptations made yet.

Gitlab: #2154

2 years agonearest_neighbor_graph: cast the result of calls to 'malloc'
Matthew Fernandez [Sat, 8 Jan 2022 18:47:32 +0000 (10:47 -0800)]
nearest_neighbor_graph: cast the result of calls to 'malloc'

This pre-emptively suppresses some `-fpermissive` warnings when transitioning
this code to C++ in an upcoming commit.

Gitlab: #2154

2 years agoMerge branch 'unify-storage-class-declarations-in-gvc++' into 'main'
Magnus Jacobsson [Tue, 11 Jan 2022 07:15:49 +0000 (07:15 +0000)]
Merge branch 'unify-storage-class-declarations-in-gvc++' into 'main'

Unify storage class declarations in gvc++

See merge request graphviz/graphviz!2394

2 years agogvc++: [nfc] align storage-class declarations to Graphviz standard in GVRenderData.h
Magnus Jacobsson [Mon, 10 Jan 2022 15:36:14 +0000 (16:36 +0100)]
gvc++: [nfc] align storage-class declarations to Graphviz standard in GVRenderData.h

2 years agogvc++: use GVDLL instead of _WIN32 to control storage-class attributes in GVRenderData.h
Magnus Jacobsson [Mon, 10 Jan 2022 15:35:57 +0000 (16:35 +0100)]
gvc++: use GVDLL instead of _WIN32 to control storage-class attributes in GVRenderData.h

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

2 years agogvc++: [nfc] align storage-class declarations to Graphviz standard in GVLayout.h
Magnus Jacobsson [Mon, 10 Jan 2022 15:35:37 +0000 (16:35 +0100)]
gvc++: [nfc] align storage-class declarations to Graphviz standard in GVLayout.h

2 years agogvc++: use GVDLL instead of _WIN32 to control storage-class attributes in GVLayout.h
Magnus Jacobsson [Mon, 10 Jan 2022 15:35:24 +0000 (16:35 +0100)]
gvc++: use GVDLL instead of _WIN32 to control storage-class attributes in GVLayout.h

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

2 years agogvc++: [nfc] align storage-class declarations to Graphviz standard in GVContext.h
Magnus Jacobsson [Mon, 10 Jan 2022 15:34:56 +0000 (16:34 +0100)]
gvc++: [nfc] align storage-class declarations to Graphviz standard in GVContext.h

2 years agogvc++: use GVDLL instead of _WIN32 to control storage-class attributes in GVContext.h
Magnus Jacobsson [Mon, 10 Jan 2022 15:33:35 +0000 (16:33 +0100)]
gvc++: use GVDLL instead of _WIN32 to control storage-class attributes in GVContext.h

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

2 years agoMerge branch 'smattr/F5A2D01F-EFF0-42DC-81F5-2985BE24E104' into 'main'
Matthew Fernandez [Tue, 11 Jan 2022 06:01:42 +0000 (06:01 +0000)]
Merge branch 'smattr/F5A2D01F-EFF0-42DC-81F5-2985BE24E104' into 'main'

Revert Perl CFLAG mangling in tclpkg

Closes #2177

See merge request graphviz/graphviz!2388

2 years agoRevert "sed cleanup of CFLAGS from perl which break on opencsw - should be harmless...
Matthew Fernandez [Sun, 9 Jan 2022 16:32:02 +0000 (08:32 -0800)]
Revert "sed cleanup of CFLAGS from perl which break on opencsw - should be harmless elsewhere"

This reverts commit a750d28463a9248fe5a42d3dae5768d38853d837. It is unclear to
me exactly what flag the original code was attempting to suppress, but this
regex is too broad. The specific case causing problems right now is that it
incorrectly mangled `-mno-xop -mbmi` into `-mno-mbmi`. Given the original code
appears to have been working around a 2011 OpenCSW packaging mistake, lets
assume this was fixed sometime in the last decade and see if anyone downstream
complains when we remove the work around.

Gitlab: fixes #2177

2 years agoRevert "clang doesn't support -fstack-clash-protection"
Matthew Fernandez [Sun, 9 Jan 2022 16:27:59 +0000 (08:27 -0800)]
Revert "clang doesn't support -fstack-clash-protection"

This reverts commit e50fd757a297e9917f801cd2781559535f03ce13. Clang added
`-ftack-clash-protection` in 2020.¹

Gitlab: #2177

¹ https://reviews.llvm.org/D68720

2 years agoMerge branch 'unify-storage-class-declarations-in-plugins' into 'main'
Magnus Jacobsson [Mon, 10 Jan 2022 22:49:04 +0000 (22:49 +0000)]
Merge branch 'unify-storage-class-declarations-in-plugins' into 'main'

Unify storage class declarations in plugins

See merge request graphviz/graphviz!2393

2 years agoplugin/pango: use GVDLL instead of _WIN32 to enable dllexport storage-class attribute...
Magnus Jacobsson [Mon, 10 Jan 2022 15:41:11 +0000 (16:41 +0100)]
plugin/pango: use GVDLL instead of _WIN32 to enable dllexport storage-class attribute in gvplugin_pango.c

2 years agoplugin/pango: [nfc] remove whitespace in preprocessor directives in gvplugin_pango.c
Magnus Jacobsson [Mon, 10 Jan 2022 15:40:31 +0000 (16:40 +0100)]
plugin/pango: [nfc] remove whitespace in preprocessor directives in gvplugin_pango.c

2 years agoplugin/neato_layout: [nfc] remove whitespace in preprocessor directives in gvplugin_n...
Magnus Jacobsson [Sun, 2 Jan 2022 18:30:11 +0000 (19:30 +0100)]
plugin/neato_layout: [nfc] remove whitespace in preprocessor directives in gvplugin_neato_layout.cpp

2 years agoplugin/gdiplus: use GVDLL instead of _WIN32 to enable dllexport storage-class attribu...
Magnus Jacobsson [Sun, 2 Jan 2022 18:29:21 +0000 (19:29 +0100)]
plugin/gdiplus: use GVDLL instead of _WIN32 to enable dllexport storage-class attribute in gvplugin_gdiplus.c

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

2 years agoplugin/gdiplus: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sun, 2 Jan 2022 21:11:48 +0000 (22:11 +0100)]
plugin/gdiplus: 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 gvplugin_gdiplus.c.

Without this change, errors like this would occur:

EXEC : error : failed to resolve gvplugin_gdiplus_LTX_library in C:\Users\magja\graphviz\Debug\Graphviz\bin\gvplugin_gdiplus.dll

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

2 years agoplugin/gdiplus: [nfc] remove whitespace in preprocessor directives in gvplugin_gdiplu...
Magnus Jacobsson [Sun, 2 Jan 2022 18:28:35 +0000 (19:28 +0100)]
plugin/gdiplus: [nfc] remove whitespace in preprocessor directives in gvplugin_gdiplus.cpp

2 years agoplugin/gd: [nfc] align storage-class declarations to Graphviz standard in gvrender_gd.c
Magnus Jacobsson [Mon, 10 Jan 2022 15:39:28 +0000 (16:39 +0100)]
plugin/gd: [nfc] align storage-class declarations to Graphviz standard in gvrender_gd.c

2 years agoplugin/gd: use GVDLL instead of _WIN32 to control storage-class attributes in gvrende...
Magnus Jacobsson [Mon, 10 Jan 2022 15:38:45 +0000 (16:38 +0100)]
plugin/gd: use GVDLL instead of _WIN32 to control storage-class attributes in gvrender_gd.c

2 years agoplugin/gd: [nfc] remove whitespace in preprocessor directives in gvrender_gd.c
Magnus Jacobsson [Sun, 2 Jan 2022 18:27:32 +0000 (19:27 +0100)]
plugin/gd: [nfc] remove whitespace in preprocessor directives in gvrender_gd.c

2 years agoplugin/gd: use GVDLL instead of _WIN32 to enable dllexport storage-class attribute...
Magnus Jacobsson [Sun, 2 Jan 2022 18:24:52 +0000 (19:24 +0100)]
plugin/gd: use GVDLL instead of _WIN32 to enable dllexport storage-class attribute in gvplugin_gd.c

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

2 years agoplugin/gd: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sun, 2 Jan 2022 21:11:48 +0000 (22:11 +0100)]
plugin/gd: 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 gvplugin_gd.c.

Without this change, errors like this would occur:

EXEC : error : failed to resolve gvplugin_gd_LTX_library in C:\Users\magja\graphviz\Debug\Graphviz\bin\gvplugin_gd.dll

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

2 years agoplugin/gd: [nfc] remove whitespace in preprocessor directives in gvplugin_gd.c
Magnus Jacobsson [Sun, 2 Jan 2022 18:23:28 +0000 (19:23 +0100)]
plugin/gd: [nfc] remove whitespace in preprocessor directives in gvplugin_gd.c

2 years agoplugin/dot_layout: use GVDLL instead of _WIN32 to enable dllexport storage-class...
Magnus Jacobsson [Sun, 2 Jan 2022 18:21:54 +0000 (19:21 +0100)]
plugin/dot_layout: use GVDLL instead of _WIN32 to enable dllexport storage-class attribute in gvplugin_dot_layout.c

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

2 years agoplugin/dot_layout: define GVDLL to ensure correct storage-class attributes
Magnus Jacobsson [Sun, 2 Jan 2022 21:11:48 +0000 (22:11 +0100)]
plugin/dot_layout: 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 gvplugin_dot_layout.c.

Without this change, errors like this would occur:

EXEC : error : failed to resolve gvplugin_dot_layout_LTX_library in C:\Users\magja\graphviz\Debug\Graphviz\bin\gvplugin_dot_layout.dll

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