From e29bfe2c98f5f1844b1fdf1b47e6495bbfa2b99b Mon Sep 17 00:00:00 2001 From: rafmag Date: Sun, 15 Jan 2023 21:34:43 -0700 Subject: [PATCH] Added png and embedded graphs to ps and pdf export --- .vscode/settings.json | 6 + CMakeLists.txt | 21 ++ Makefile.conf | 32 ++ config.h | 30 ++ doc/manpages/xschem.1 | 186 ++++++++++ scconfig/config.cache | 237 ++++++++++++ scconfig/config.log | 321 ++++++++++++++++ scconfig/configure | Bin 0 -> 580440 bytes scconfig/sccbox | Bin 0 -> 52240 bytes src/Makefile | 207 +++++++++++ src/cairo_jpg.c | 625 ++++++++++++++++++++++++++++++++ src/cairo_jpg.c:Zone.Identifier | 3 + src/cairo_jpg.h | 70 ++++ src/cairo_jpg.h:Zone.Identifier | 3 + src/psprint.c | 265 +++++++++++++- src/xschem.h | 1 + 16 files changed, 2000 insertions(+), 7 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 CMakeLists.txt create mode 100644 Makefile.conf create mode 100644 config.h create mode 100644 doc/manpages/xschem.1 create mode 100644 scconfig/config.cache create mode 100644 scconfig/config.log create mode 100755 scconfig/configure create mode 100755 scconfig/sccbox create mode 100644 src/Makefile create mode 100644 src/cairo_jpg.c create mode 100644 src/cairo_jpg.c:Zone.Identifier create mode 100644 src/cairo_jpg.h create mode 100644 src/cairo_jpg.h:Zone.Identifier diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..f149daf8 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "cmake.debugConfig": { + "cwd": "/home/rafmag/.xschem/xschem_library/XSCHEM_HBT", + "args": [], + }, +} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..a583a883 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.12) + +project(xschem LANGUAGES C) + +file(GLOB_RECURSE PROJECT_SOURCE_FILES CONFIGURE_DEPENDS src/*.c) +list(REMOVE_ITEM PROJECT_SOURCE_FILES /home/rafmag/xschem/src/rawtovcd.c) + +add_executable(${PROJECT_NAME} ${PROJECT_SOURCE_FILES}) +target_include_directories(${PROJECT_NAME} PUBLIC src/ /usr/include/cairo /usr/include/tcl8.6) + +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${CMAKE_DL_LIBS} tcl8.6 tk8.6 cairo xcb X11 xcb-render X11-xcb Xpm m jpeg) + +set(EXPAND_LABEL expandlabel) +add_custom_target(expandlabel + bison -d -o ../src/expandlabel.c ../src/expandlabel.y +) +set(PARSE_LABEL parselabel) +add_custom_target(parselabel + flex -l -o ../src/parselabel.c ../src/parselabel.l +) +add_dependencies(${PROJECT_NAME} ${EXPAND_LABEL} ${PARSE_LABEL}) diff --git a/Makefile.conf b/Makefile.conf new file mode 100644 index 00000000..1acdfcf6 --- /dev/null +++ b/Makefile.conf @@ -0,0 +1,32 @@ +############################################################### +# Generated by scconfig - DO NOT EDIT - will be overwritten # +# Source: Makefile.conf.in; to regenerate run ./configure # +############################################################### + +PREFIX=/usr/local +CC=gcc +CFLAGS=-pipe -O2 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/tcl8.6 +LDFLAGS=-lm -lcairo -lX11 -lxcb -lxcb-render -lX11-xcb -lXpm -ltcl8.6 -ltk8.6 + +BINDIR=$(DESTDIR)$(install_root)$(PREFIX)/bin +SHAREDIR=$(DESTDIR)$(install_root)$(PREFIX)/share +DOCDIR=$(DESTDIR)$(install_root)$(PREFIX)/share/doc +XSHAREDIR=$(SHAREDIR)/xschem +XDOCDIR=$(DOCDIR)/xschem +MANDIR=$(SHAREDIR)/man +USER_CONF_DIR=~/.xschem +SCCBOX=$(ROOT)/scconfig/sccbox + +## specify user schematic/symbol libraries; +## you may redefine it later in .xschem or xschemrc startup files +user_library_dir=~/.xschem/xschem_library + +## specify system-wide symbol libraries; +## you may redefine it later in ~/.xschem/xschemrc or +## `pwd`/.xschemrc startup files +system_library_dir=$(DESTDIR)$(install_root)/usr/local/share/xschem/xschem_library/devices + +## default search path +xschem_library_path=~/.xschem/xschem_library:/usr/local/share/xschem/xschem_library/devices:/usr/local/share/doc/xschem/examples:/usr/local/share/doc/xschem/ngspice:/usr/local/share/doc/xschem/logic:/usr/local/share/doc/xschem/xschem_simulator:/usr/local/share/doc/xschem/generators:/usr/local/share/doc/xschem/binto7seg:/usr/local/share/doc/xschem/pcb:/usr/local/share/doc/xschem/rom8k + + diff --git a/config.h b/config.h new file mode 100644 index 00000000..cbe58a4b --- /dev/null +++ b/config.h @@ -0,0 +1,30 @@ +/*************************************************************/ +/* Generated by scconfig - DO NOT EDIT - will be overwritten */ +/* Source: config.h.in; to regenerate run ./configure */ +/*************************************************************/ + +/* Define this var if cairo is available and is to be used */ +#define HAS_CAIRO 1 + +/* Define this var if Xlib's xcb is available */ +#define HAS_XCB 1 + +/* Define this var if dup2(2) is available */ +#define HAS_DUP2 1 + +/* Define this var if popen(3) is available */ +#define HAS_POPEN 1 + +/* Define this var if popen(3) is not available but fork(2) and pipe(2) are available */ +/*#undef HAS_PIPE */ + +#define PREFIX "/usr/local" +#define XSCHEM_LIBRARY_PATH "~/.xschem/xschem_library:/usr/local/share/xschem/xschem_library/devices:/usr/local/share/doc/xschem/examples:/usr/local/share/doc/xschem/ngspice:/usr/local/share/doc/xschem/logic:/usr/local/share/doc/xschem/xschem_simulator:/usr/local/share/doc/xschem/generators:/usr/local/share/doc/xschem/binto7seg:/usr/local/share/doc/xschem/pcb:/usr/local/share/doc/xschem/rom8k" +#define USER_CONF_DIR "~/.xschem" +#define XSCHEM_SHAREDIR PREFIX "/share/xschem" + +/* Extra includes required by the detected libs (may be empty): */ + +#define _XOPEN_SOURCE + + diff --git a/doc/manpages/xschem.1 b/doc/manpages/xschem.1 new file mode 100644 index 00000000..c86b294f --- /dev/null +++ b/doc/manpages/xschem.1 @@ -0,0 +1,186 @@ + +.\" xschem - manual +.\" Copyright (C) 2018 Tibor 'Igor2' Palinkas +.\" +.\" This program is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License along +.\" with this program; if not, write to the Free Software Foundation, Inc., +.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +.\" +.\" Contact: TODO: an email address +.TH xschem 1 2018-01-01 "" "xschem manual" +.SH NAME +xschem - schematic capture and netlisting EDA tool +.SH SYNPOSIS +.nf +.sp +\fBxschem [\fIoptions\fB] [\fIinputfile\fB] +.fi +.SH DECSRIPTION + +.BR Xschem +is a schematic capture program, it allows creation of +hierarchical representation of circuits with a top down approach. +.SH OPTIONS + +.TP + +.B -h, --help +Print help and exit. +.TP + +.B -b, --detach +Detach xschem from console. +.TP + +.B -n, --netlist +Do a netlist of the given schematic cell. +.TP + +.B -v, --version +Print version information and exit. +.TP + +.B -V, --vhdl +Set netlist type to VHDL. +.TP + +.B -S, --simulate +Run a simulation of the current schematc file (spice/Verilog/VHDL, depending on the netlist type chosen). +.TP + +.B -w, --verilog +Set netlist type to Verilog. +.TP + +.B --tcl +Execute specified tcl instructions before any other action, this can be used to change xschemrc variables. +.TP + +.B --command +Execute specified tcl commands after completing startup. +.TP + +.B --script +Execute specified tcl file as a command script (perhaps with xschem commands). +.TP + +.B --tcp-port +Listen to specified tcp port for client connections. (number >=1024). +.TP + +.B -i, --no_rcload +Do not load any xschemrc file. +.TP + +.B -o, --netlist_path +Set output for netlist. +.TP + +.B -N, --netlist_filename +Set name (only name, not path) of top level netlist file. +.TP + +.B -t, --tedax +Set netlist type to tEDAx. +.TP + +.B -s, --spice +Set netlist type to SPICE. +.TP + +.B -y, --symbol +Set netlist type to symbol global property edit. +.TP + +.B -x, --no_x +Dont use X (only command mode). +.TP + +.B -z, --rainbow +Use a raibow-looking layer color table. +.TP + +.B -W, --waves +Show simulation waveforms. +.TP + +.B -f, --flat_netlist +Set flat netlist (for spice format only). +.TP + +.B -r, --no_readline +Start without the tclreadline package ( this is necessary if stdin and stdout are to be redirected for example to /dev/null). +.TP + +.B -c, --color_ps +Set color postscript. +.TP + +.B --plotfile +Use as output for plot export (png, svg, postscript/pdf) +.TP + +.B --rcfile +Use as a rc file for startup instead of the default xschemrc. +.TP + +.B -p, --postscript, --pdf +Export pdf schematic. +.TP + +.B --png +Export png schematic. +.TP + +.B --svg +Export svg schematic. +.TP + +.B -q, --quit +Quit after doing things (no interactive mode). +.TP + +.B -l file, --log file +Set a log file. +.TP + +.B -d n, --debug n +Set debug level: 1, 2, 3,...: C program debug, -1, -2, -3...: TCL frontend debug. + + +.SH FILES + +.TP + +.B /usr/local/share/xschem/xschemrc +default configuration. +.TP + +.B ~/.xschem/xschemrc +user configuration; if exists overrides settings from default configuration; +may be partial: settings not overridden will remain as set from the system +config. +.TP + +.B ./xschemrc +local/per-project configuration; if exists overrides settings from +the user configuration and default configuration. +.TP + +.B /usr/local/share/xschem/systemlib +builtin essentials, such as font and missing symbol graphics. +.TP + +.B /usr/local/share/xschem/utile +TODO. +.TP diff --git a/scconfig/config.cache b/scconfig/config.cache new file mode 100644 index 00000000..24411718 --- /dev/null +++ b/scconfig/config.cache @@ -0,0 +1,237 @@ +/tmpasm/IFS=" \t\r\n" +/runtime/libs/gui/xopendisplay/Lflags= +/runtime/cc/cc=gcc +/runtime/sys/ext_stalib=.a +/runtime/sys/ext_dynlib=.so +/runtime/libs/io/dup2/includes= +/runtime/libs/gui/cairo-xcb/cflags=-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 +/runtime/libs/gui/cairo-xcb/presents=true +/runtime/parsgen/flex=flex +/runtime/sys/system_name=GNU/Linux +/runtime/libs/gui/xopendisplay/includes= +/runtime/libs/gui/xgetxcbconnection/presents=true +/runtime/sys/path_sep_escaped=/ +/runtime/sys/cross=false +/runtime/libs/gui/cairo/cflags=-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 +/runtime/sys/shell_eats_backslash=true +/runtime/sys/ext_exe= +/runtime/libs/script/tk/includes= +/runtime/libs/io/popen/presents=true +/runtime/sys/ext_dynlib_native=.so +/runtime/libs/gui/cairo/ldflags=-lcairo +/runtime/libs/gui/xcb_render/includes= +/runtime/parsgen/flex/presents=true +/runtime/parsgen/bison=bison +/runtime/libs/gui/cairo/includes= +/runtime/sys/uname=Linux MSI 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux +/runtime/sys/class=UNIX +/runtime/cc/cflags= -pipe -O2 +/runtime/libs/script/tcl/includes= +/runtime/libs/gui/xpm/includes= +/runtime/libs/gui/xpm/ldflags=-lX11 -lXpm +/runtime/libs/gui/cairo-xcb/ldflags=-lcairo +/runtime/libs/gui/xcb_render/ldflags=-lX11 -lxcb-render +/runtime/libs/io/dup2/presents=true +/runtime/sys/shell_needs_quote=true +/runtime/libs/gui/xpm/cflags= +/runtime/libs/gui/xopendisplay/cflags= +/runtime/libs/gui/xopendisplay/presents=true +/runtime/fstools/awk=awk +/runtime/sys/tmp=/home/rafmag/xschem/scconfig/ +/runtime/libs/script/tk/presents=true +/runtime/sys/machine_name=x86_64 +/runtime/libs/gui/xcb_render/cflags= +/runtime/libs/script/tcl/ldflags=-ltcl8.6 +/runtime/libs/gui/xcb_render/presents=true +/runtime/libs/gui/xcb/includes= +/runtime/libs/gui/xcb/ldflags=-lX11 -lxcb +/runtime/cc/fpic=-fPIC +/runtime/libs/gui/cairo/presents=true +/runtime/sys/path_sep=/ +/runtime/libs/script/tcl/presents=true +/runtime/libs/gui/xpm/presents=true +/runtime/libs/gui/xcb/cflags= +/runtime/libs/gui/cairo-xcb/includes=#include \n +/runtime/cc/ldflags= +/runtime/sys/shell_escape_char=\ +/runtime/sys/emu= +/runtime/libs/gui/xgetxcbconnection/includes= +/runtime/libs/gui/xopendisplay/ldflags=-lX11 +/runtime/libs/script/tk/cflags=-I/usr/include/tcl8.6 +/runtime/libs/gui/xgetxcbconnection/ldflags=-lX11 -lX11-xcb +/runtime/libs/io/popen/includes=#define _XOPEN_SOURCE\n +/runtime/libs/io/popen/ldflags= +/runtime/sys/name=Linux +/runtime/libs/gui/xgetxcbconnection/cflags= +/runtime/libs/io/dup2/cflags= +/runtime/parsgen/bison/presents=true +/runtime/libs/script/tcl/cflags=-I/usr/include/tcl8.6 +/runtime/sys/cross_blind=false +/runtime/libs/io/popen/cflags= +/runtime/sys/shell=/bin/sh -c +/runtime/libs/io/dup2/ldflags= +/runtime/libs/script/tk/ldflags=-ltcl8.6 -ltk8.6 +/runtime/libs/gui/xcb/presents=true +/target/libs/gui/xopendisplay/Lflags= +/target/cc/cc=gcc +/target/sys/ext_stalib=.a +/target/sys/ext_dynlib=.so +/target/libs/io/dup2/includes= +/target/libs/gui/cairo-xcb/cflags=-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 +/target/libs/gui/cairo-xcb/presents=true +/target/parsgen/flex=flex +/target/sys/system_name=GNU/Linux +/target/libs/gui/xopendisplay/includes= +/target/libs/gui/xgetxcbconnection/presents=true +/target/sys/path_sep_escaped=/ +/target/sys/cross=false +/target/libs/gui/cairo/cflags=-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 +/target/sys/shell_eats_backslash=true +/target/sys/ext_exe= +/target/libs/script/tk/includes= +/target/libs/io/popen/presents=true +/target/sys/ext_dynlib_native=.so +/target/libs/gui/cairo/ldflags=-lcairo +/target/libs/gui/xcb_render/includes= +/target/parsgen/flex/presents=true +/target/parsgen/bison=bison +/target/libs/gui/cairo/includes= +/target/sys/uname=Linux MSI 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux +/target/sys/class=UNIX +/target/cc/cflags= -pipe -O2 +/target/libs/script/tcl/includes= +/target/libs/gui/xpm/includes= +/target/libs/gui/xpm/ldflags=-lX11 -lXpm +/target/libs/gui/cairo-xcb/ldflags=-lcairo +/target/libs/gui/xcb_render/ldflags=-lX11 -lxcb-render +/target/libs/io/dup2/presents=true +/target/sys/shell_needs_quote=true +/target/libs/gui/xpm/cflags= +/target/libs/gui/xopendisplay/cflags= +/target/libs/gui/xopendisplay/presents=true +/target/fstools/awk=awk +/target/sys/tmp=/home/rafmag/xschem/scconfig/ +/target/libs/script/tk/presents=true +/target/sys/machine_name=x86_64 +/target/libs/gui/xcb_render/cflags= +/target/libs/script/tcl/ldflags=-ltcl8.6 +/target/libs/gui/xcb_render/presents=true +/target/libs/gui/xcb/includes= +/target/libs/gui/xcb/ldflags=-lX11 -lxcb +/target/cc/fpic=-fPIC +/target/libs/gui/cairo/presents=true +/target/sys/path_sep=/ +/target/libs/script/tcl/presents=true +/target/libs/gui/xpm/presents=true +/target/libs/gui/xcb/cflags= +/target/libs/gui/cairo-xcb/includes=#include \n +/target/cc/ldflags= +/target/sys/shell_escape_char=\ +/target/sys/emu= +/target/libs/gui/xgetxcbconnection/includes= +/target/libs/gui/xopendisplay/ldflags=-lX11 +/target/libs/script/tk/cflags=-I/usr/include/tcl8.6 +/target/libs/gui/xgetxcbconnection/ldflags=-lX11 -lX11-xcb +/target/libs/io/popen/includes=#define _XOPEN_SOURCE\n +/target/libs/io/popen/ldflags= +/target/sys/name=Linux +/target/libs/gui/xgetxcbconnection/cflags= +/target/libs/io/dup2/cflags= +/target/parsgen/bison/presents=true +/target/libs/script/tcl/cflags=-I/usr/include/tcl8.6 +/target/sys/cross_blind=false +/target/libs/io/popen/cflags= +/target/sys/shell=/bin/sh -c +/target/libs/io/dup2/ldflags= +/target/libs/script/tk/ldflags=-ltcl8.6 -ltk8.6 +/target/libs/gui/xcb/presents=true +/local/xschem/user-lib-path=~/.xschem/xschem_library +/local/global_cflags=-fPIC +/local/xschem/profile=false +/local/xschem/includes="#define _XOPEN_SOURCE\n" +/local/install_shares="\n keys.help xschem.help xschem.tcl break.awk convert_to_verilog2001.awk\n flatten.awk flatten_tedax.awk flatten_savenodes.awk make_sym.awk make_sym_lcc.awk\n symgen.awk order_labels.awk sort_labels.awk spice.awk tedax.awk verilog.awk\n vhdl.awk hspice_backannotate.tcl add_custom_menu.tcl\n add_custom_button.tcl change_index.tcl icon.xpm resources.tcl xschemrc\n ngspice_backannotate.tcl gschemtoxschem.awk traversal.tcl\n" +/local/xschem/xschem-lib-path=~/.xschem/xschem_library:/usr/local/share/xschem/xschem_library/devices:/usr/local/share/doc/xschem/examples:/usr/local/share/doc/xschem/ngspice:/usr/local/share/doc/xschem/logic:/usr/local/share/doc/xschem/xschem_simulator:/usr/local/share/doc/xschem/generators:/usr/local/share/doc/xschem/binto7seg:/usr/local/share/doc/xschem/pcb:/usr/local/share/doc/xschem/rom8k +/local/xschem/debug=false +/local/obj= icon.o callback.o actions.o move.o check.o clip.o draw.o globals.o main.o netlist.o hash_iterator.o findnet.o scheduler.o store.o xinit.o select.o font.o editprop.o save.o paste.o token.o psprint.o node_hash.o hilight.o options.o vhdl_netlist.o svgdraw.o spice_netlist.o tedax_netlist.o verilog_netlist.o parselabel.o expandlabel.o in_memory_undo.o +/local/src="\n icon.c callback.c actions.c move.c check.c clip.c draw.c globals.c\n main.c netlist.c hash_iterator.c findnet.c scheduler.c store.c xinit.c\n select.c font.c editprop.c save.c paste.c token.c psprint.c node_hash.c\n hilight.c options.c vhdl_netlist.c svgdraw.c spice_netlist.c\n tedax_netlist.c verilog_netlist.c parselabel.c expandlabel.c\n in_memory_undo.c\n" +/local/xschem/ldflags=-lm -lcairo -lX11 -lxcb -lxcb-render -lX11-xcb -lXpm -ltcl8.6 -ltk8.6 +/local/xschem/sys-lib-path=/usr/local/share/xschem/xschem_library/devices +/local/xschem/cflags=-pipe -O2 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/tcl8.6 +/local/xschem/symbols=false +/local/xschem/prefix=/usr/local +/local/xschem/user-conf-dir=~/.xschem +/local/n=traversal.tcl +/local/o=in_memory_undo.o +/host/libs/gui/xopendisplay/Lflags= +/host/cc/cc=gcc +/host/sys/ext_stalib=.a +/host/sys/ext_dynlib=.so +/host/libs/io/dup2/includes= +/host/libs/gui/cairo-xcb/cflags=-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 +/host/libs/gui/cairo-xcb/presents=true +/host/parsgen/flex=flex +/host/sys/system_name=GNU/Linux +/host/libs/gui/xopendisplay/includes= +/host/libs/gui/xgetxcbconnection/presents=true +/host/sys/path_sep_escaped=/ +/host/sys/cross=false +/host/libs/gui/cairo/cflags=-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 +/host/sys/shell_eats_backslash=true +/host/sys/ext_exe= +/host/libs/script/tk/includes= +/host/libs/io/popen/presents=true +/host/sys/ext_dynlib_native=.so +/host/libs/gui/cairo/ldflags=-lcairo +/host/libs/gui/xcb_render/includes= +/host/parsgen/flex/presents=true +/host/parsgen/bison=bison +/host/libs/gui/cairo/includes= +/host/sys/uname=Linux MSI 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux +/host/sys/class=UNIX +/host/cc/cflags= -pipe -O2 +/host/libs/script/tcl/includes= +/host/libs/gui/xpm/includes= +/host/libs/gui/xpm/ldflags=-lX11 -lXpm +/host/libs/gui/cairo-xcb/ldflags=-lcairo +/host/libs/gui/xcb_render/ldflags=-lX11 -lxcb-render +/host/libs/io/dup2/presents=true +/host/sys/shell_needs_quote=true +/host/libs/gui/xpm/cflags= +/host/libs/gui/xopendisplay/cflags= +/host/libs/gui/xopendisplay/presents=true +/host/fstools/awk=awk +/host/sys/tmp=/home/rafmag/xschem/scconfig/ +/host/libs/script/tk/presents=true +/host/sys/machine_name=x86_64 +/host/libs/gui/xcb_render/cflags= +/host/libs/script/tcl/ldflags=-ltcl8.6 +/host/libs/gui/xcb_render/presents=true +/host/libs/gui/xcb/includes= +/host/libs/gui/xcb/ldflags=-lX11 -lxcb +/host/cc/fpic=-fPIC +/host/libs/gui/cairo/presents=true +/host/sys/path_sep=/ +/host/libs/script/tcl/presents=true +/host/libs/gui/xpm/presents=true +/host/libs/gui/xcb/cflags= +/host/libs/gui/cairo-xcb/includes=#include \n +/host/cc/ldflags= +/host/sys/shell_escape_char=\ +/host/sys/emu= +/host/libs/gui/xgetxcbconnection/includes= +/host/libs/gui/xopendisplay/ldflags=-lX11 +/host/libs/script/tk/cflags=-I/usr/include/tcl8.6 +/host/libs/gui/xgetxcbconnection/ldflags=-lX11 -lX11-xcb +/host/libs/io/popen/includes=#define _XOPEN_SOURCE\n +/host/libs/io/popen/ldflags= +/host/sys/name=Linux +/host/libs/gui/xgetxcbconnection/cflags= +/host/libs/io/dup2/cflags= +/host/parsgen/bison/presents=true +/host/libs/script/tcl/cflags=-I/usr/include/tcl8.6 +/host/sys/cross_blind=false +/host/libs/io/popen/cflags= +/host/sys/shell=/bin/sh -c +/host/libs/io/dup2/ldflags= +/host/libs/script/tk/ldflags=-ltcl8.6 -ltk8.6 +/host/libs/gui/xcb/presents=true diff --git a/scconfig/config.log b/scconfig/config.log new file mode 100644 index 00000000..91e26d65 --- /dev/null +++ b/scconfig/config.log @@ -0,0 +1,321 @@ +CLI arg 0: './configure' +(Required node: 'sys/name') + (Required node: 'sys/tmp') + (Required node: 'sys/shell') +###report### Looking for a shell... finding a shell + testing '/bin/sh -c' as shell + run: ' /bin/sh -c echo hello >scc_30886 2>>scc_89383.out' + ========= empty stderr ================= + run result: 0 + stdout: ' +' + refused. + testing '/bin/sh -c' as shell + run: ' /bin/sh -c "echo hello" >scc_36915 2>>scc_92777.out' + ========= empty stderr ================= + run result: 0 + stdout: 'hello +' + accepted. +###report### /bin/sh -c + found a shell '/bin/sh -c', need quote: true +###report### Looking for a shell escape character... finding shell escape character... + run: ' echo \\\ \{\}\&\;\| >scc_38335 2>>scc_47793.out' + ========= empty stderr ================= + run result: 0 + stdout: '\ {}&;| +' +###report### found: '\' + found shell escape char '\' +###report### Detecting temp dir... Finding temp dir (current working directory)... + testing if shell eats \... + run: ' /bin/sh -c "echo c:\n" >scc_60492 2>>scc_85386.out' + ========= empty stderr ================= + run result: 0 + stdout: 'c:n +' + shell eats \... + run: ' /bin/sh -c "pwd" >scc_41421 2>>scc_16649.out' + ========= empty stderr ================= + run result: 0 + stdout: '/home/rafmag/xschem/scconfig +' + cwd is '/home/rafmag/xschem/scconfig/' + trying detected temp dir '/home/rafmag/xschem/scconfig/' + validating temp dir '/home/rafmag/xschem/scconfig/' + temp dir works! +###report### validated /home/rafmag/xschem/scconfig/ + Detected temp dir '/home/rafmag/xschem/scconfig/' + Path sep: '/' +###report### Checking for system type... [find_uname] checking for sys/name + not set, running + run: ' /bin/sh -c "uname -a" >/home/rafmag/xschem/scconfig/scc_68690 2>>/home/rafmag/xschem/scconfig/scc_90027.out' + ========= empty stderr ================= + run result: 0 + stdout: 'Linux MSI 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux +' + run: ' /bin/sh -c "uname -m" >/home/rafmag/xschem/scconfig/scc_97763 2>>/home/rafmag/xschem/scconfig/scc_20059.out' + ========= empty stderr ================= + run result: 0 + stdout: 'x86_64 +' + run: ' /bin/sh -c "uname -o" >/home/rafmag/xschem/scconfig/scc_80540 2>>/home/rafmag/xschem/scconfig/scc_13926.out' + ========= empty stderr ================= + run result: 0 + stdout: 'GNU/Linux +' +###report### OK (name: Linux; class: UNIX) +(Required node: 'cc/fpic') + (Required node: 'cc/cc') +###report### Checking for cc (target)... find_cc: trying to find cc (target)... + find_cc: Detecting cc (host) + trying cc:try_flags with cc='gcc' cflags='' ldflags='' + compile: '/bin/sh -c "gcc /home/rafmag/xschem/scconfig/scc_83426.c -o /home/rafmag/xschem/scconfig/scc_55736 2>&1" >/home/rafmag/xschem/scconfig/scc_89172.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_55736 >/home/rafmag/xschem/scconfig/scc_95368 2>>/home/rafmag/xschem/scconfig/scc_5211.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' + find_cc: Detecting -pipe + compile: '/bin/sh -c "gcc -pipe /home/rafmag/xschem/scconfig/scc_2567.c -o /home/rafmag/xschem/scconfig/scc_65782 2>&1" >/home/rafmag/xschem/scconfig/scc_56429.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_65782 >/home/rafmag/xschem/scconfig/scc_22862 2>>/home/rafmag/xschem/scconfig/scc_21530.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' + find_cc: final test on cc and all flags + compile: '/bin/sh -c "gcc -pipe /home/rafmag/xschem/scconfig/scc_65123.c -o /home/rafmag/xschem/scconfig/scc_3135 2>&1" >/home/rafmag/xschem/scconfig/scc_74067.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_3135 >/home/rafmag/xschem/scconfig/scc_79802 2>>/home/rafmag/xschem/scconfig/scc_13929.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK ('gcc', ' -pipe', '') + find_cc: conclusion: cc='gcc' cflags=' -pipe' ldflags='' +###report### Checking for -fpic... find_fpic: trying to find -fpic... + trying cc:try_flags with cc='gcc' cflags='' ldflags='-fPIC' + compile: '/bin/sh -c "gcc -pipe /home/rafmag/xschem/scconfig/scc_34022.c -fPIC -o /home/rafmag/xschem/scconfig/scc_33069 2>&1" >/home/rafmag/xschem/scconfig/scc_23058.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_33069 >/home/rafmag/xschem/scconfig/scc_61393 2>>/home/rafmag/xschem/scconfig/scc_98167.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK (-fPIC) +(Required node: 'libs/io/popen/*') +###report### Checking for popen(3)... find_io_popen: trying to find popen(3)... + trying '#define _XOPEN_SOURCE' and '' and '', with a run + compile: '/bin/sh -c "gcc -pipe -O2 /home/rafmag/xschem/scconfig/scc_18456.c -o /home/rafmag/xschem/scconfig/scc_78042 2>&1" >/home/rafmag/xschem/scconfig/scc_75011.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_78042 >/home/rafmag/xschem/scconfig/scc_77373 2>>/home/rafmag/xschem/scconfig/scc_76229.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK + +' +###report### OK ('#define _XOPEN_SOURCE\n', '' and '') +(Required node: 'libs/io/dup2/*') +###report### Checking for dup2(2)... find_io_dup2: trying to find dup2(2)... + trying '' and '' and '', with a run + compile: '/bin/sh -c "gcc -pipe -O2 /home/rafmag/xschem/scconfig/scc_84421.c -o /home/rafmag/xschem/scconfig/scc_13784 2>&1" >/home/rafmag/xschem/scconfig/scc_44919.out' + ========= output dump start ============ + /home/rafmag/xschem/scconfig/scc_84421.c: In function ‘main’: + /home/rafmag/xschem/scconfig/scc_84421.c:6:17: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] + 6 | write(4, "OK\n", 3); + | ^~~~~~~~~~~~~~~~~~~ + ========= output dump end ============== + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_13784 >/home/rafmag/xschem/scconfig/scc_75198 2>>/home/rafmag/xschem/scconfig/scc_98537.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK ('', '' and '') +(Required node: 'parsgen/flex/presents') +###report### Checking for flex... find_flex: trying to find flex... + run: ' flex /home/rafmag/xschem/scconfig/scc_94324.lex >/home/rafmag/xschem/scconfig/scc_64370 2>>/home/rafmag/xschem/scconfig/scc_98315.out' + ========= empty stderr ================= + run result: 0 + stdout: '' +###report### Found. +(Required node: 'parsgen/bison/presents') +###report### Checking for bison... find_bison: trying to find bison... + run: ' bison /home/rafmag/xschem/scconfig/scc_66413.y >/home/rafmag/xschem/scconfig/scc_76091 2>>/home/rafmag/xschem/scconfig/scc_3526.out' + ========= empty stderr ================= + run result: 0 + stdout: '' +###report### Found. +(Required node: 'libs/script/tk/*') + (Required node: 'libs/gui/xopendisplay/cflags') +###report### Checking for XOpenDisplay... find_xopendisplay: + trying '' and '' and '-lX11', with no run + compile: '/bin/sh -c "gcc -pipe -O2 /home/rafmag/xschem/scconfig/scc_68980.c -lX11 -o /home/rafmag/xschem/scconfig/scc_41873 2>&1" >/home/rafmag/xschem/scconfig/scc_59956.out' + ========= empty stderr ================= + compile result: 0 +###report### OK ('', '' and '-lX11') +###report### Checking for tk... find_tk: trying to find tk... +###report### 8.6... trying '' and '' and '-ltcl86', with a run + compile: '/bin/sh -c "gcc -pipe -O2 /home/rafmag/xschem/scconfig/scc_6862.c -ltcl86 -o /home/rafmag/xschem/scconfig/scc_6996 2>&1" >/home/rafmag/xschem/scconfig/scc_99170.out' + ========= output dump start ============ + /home/rafmag/xschem/scconfig/scc_6862.c:3:10: fatal error: tcl.h: No such file or directory + 3 | #include + | ^~~~~~~ + compilation terminated. + ========= output dump end ============== + compile result: 256 + trying '' and '' and '-ltcl8.6', with a run + compile: '/bin/sh -c "gcc -pipe -O2 /home/rafmag/xschem/scconfig/scc_97281.c -ltcl8.6 -o /home/rafmag/xschem/scconfig/scc_20925 2>&1" >/home/rafmag/xschem/scconfig/scc_2305.out' + ========= output dump start ============ + /home/rafmag/xschem/scconfig/scc_97281.c:3:10: fatal error: tcl.h: No such file or directory + 3 | #include + | ^~~~~~~ + compilation terminated. + ========= output dump end ============== + compile result: 256 + trying '' and '-I/usr/include/tcl86' and '-ltcl86', with a run + compile: '/bin/sh -c "gcc -pipe -O2 -I/usr/include/tcl86 /home/rafmag/xschem/scconfig/scc_77084.c -ltcl86 -o /home/rafmag/xschem/scconfig/scc_60336 2>&1" >/home/rafmag/xschem/scconfig/scc_36327.out' + ========= output dump start ============ + /home/rafmag/xschem/scconfig/scc_77084.c:3:10: fatal error: tcl.h: No such file or directory + 3 | #include + | ^~~~~~~ + compilation terminated. + ========= output dump end ============== + compile result: 256 + trying '' and '-I/usr/include/tcl8.6' and '-ltcl8.6', with a run + compile: '/bin/sh -c "gcc -pipe -O2 -I/usr/include/tcl8.6 /home/rafmag/xschem/scconfig/scc_26505.c -ltcl8.6 -o /home/rafmag/xschem/scconfig/scc_21729 2>&1" >/home/rafmag/xschem/scconfig/scc_50846.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_21729 >/home/rafmag/xschem/scconfig/scc_25857 2>>/home/rafmag/xschem/scconfig/scc_61313.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK ('', '-I/usr/include/tcl8.6' and '-ltcl8.6') + trying '' and '-I/usr/include/tcl8.6 ' and '-ltcl8.6 -ltk86', with a run + compile: '/bin/sh -c "gcc -pipe -O2 -I/usr/include/tcl8.6 /home/rafmag/xschem/scconfig/scc_16124.c -ltcl8.6 -ltk86 -o /home/rafmag/xschem/scconfig/scc_19582 2>&1" >/home/rafmag/xschem/scconfig/scc_53895.out' + ========= output dump start ============ + /usr/bin/ld: cannot find -ltk86 + collect2: error: ld returned 1 exit status + ========= output dump end ============== + compile result: 256 + trying '' and '-I/usr/include/tcl8.6 ' and '-ltcl8.6 -ltk8.6', with a run + compile: '/bin/sh -c "gcc -pipe -O2 -I/usr/include/tcl8.6 /home/rafmag/xschem/scconfig/scc_545.c -ltcl8.6 -ltk8.6 -o /home/rafmag/xschem/scconfig/scc_33367 2>&1" >/home/rafmag/xschem/scconfig/scc_98814.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_33367 >/home/rafmag/xschem/scconfig/scc_90364 2>>/home/rafmag/xschem/scconfig/scc_15434.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK ('', '-I/usr/include/tcl8.6 ' and '-ltcl8.6 -ltk8.6') +(Required node: 'fstools/awk') +###report### Checking for awk... find_fstools_awk: trying to find awk... + trying 'awk' + run: ' /bin/sh -c "awk -v "t=blobb" -f /home/rafmag/xschem/scconfig/scc_44043.awk" >/home/rafmag/xschem/scconfig/scc_71087 2>>/home/rafmag/xschem/scconfig/scc_13750.out' + ========= empty stderr ================= + run result: 0 + stdout: 'BloBB +' +###report### OK (awk) +(Required node: 'libs/gui/xpm/*') +###report### Checking for xpm... find_xpm: + trying '' and '' and '-lX11 -lXpm', with a run + compile: '/bin/sh -c "gcc -pipe -O2 /home/rafmag/xschem/scconfig/scc_26808.c -lX11 -lXpm -o /home/rafmag/xschem/scconfig/scc_47178 2>&1" >/home/rafmag/xschem/scconfig/scc_17276.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_47178 >/home/rafmag/xschem/scconfig/scc_93584 2>>/home/rafmag/xschem/scconfig/scc_95788.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK ('', '' and '-lX11 -lXpm') +(Required node: 'libs/gui/cairo/*') +###report### Checking for cairo... find_cairo: running pkg-config... + run: ' pkg-config --cflags cairo >/home/rafmag/xschem/scconfig/scc_2651 2>>/home/rafmag/xschem/scconfig/scc_5403.out' + ========= empty stderr ================= + run result: 0 + stdout: '-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 +' + run: ' pkg-config --libs cairo >/home/rafmag/xschem/scconfig/scc_12399 2>>/home/rafmag/xschem/scconfig/scc_92754.out' + ========= empty stderr ================= + run result: 0 + stdout: '-lcairo +' + trying '' and '-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16' and '-lcairo', with a run + compile: '/bin/sh -c "gcc -pipe -O2 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 /home/rafmag/xschem/scconfig/scc_99932.c -lcairo -o /home/rafmag/xschem/scconfig/scc_49676 2>&1" >/home/rafmag/xschem/scconfig/scc_95060.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_49676 >/home/rafmag/xschem/scconfig/scc_47739 2>>/home/rafmag/xschem/scconfig/scc_93368.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK ('', '-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16' and '-lcairo') +(Required node: 'libs/gui/cairo-xcb/*') + (Required node: 'libs/gui/cairo') +###report### Checking for cairo... find_cairo: running pkg-config... + run: ' pkg-config --cflags cairo >/home/rafmag/xschem/scconfig/scc_36226 2>>/home/rafmag/xschem/scconfig/scc_10012.out' + ========= empty stderr ================= + run result: 0 + stdout: '-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 +' + run: ' pkg-config --libs cairo >/home/rafmag/xschem/scconfig/scc_48094 2>>/home/rafmag/xschem/scconfig/scc_98586.out' + ========= empty stderr ================= + run result: 0 + stdout: '-lcairo +' + trying '' and '-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16' and '-lcairo', with a run + compile: '/bin/sh -c "gcc -pipe -O2 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 /home/rafmag/xschem/scconfig/scc_97539.c -lcairo -o /home/rafmag/xschem/scconfig/scc_80570 2>&1" >/home/rafmag/xschem/scconfig/scc_40795.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_80570 >/home/rafmag/xschem/scconfig/scc_60378 2>>/home/rafmag/xschem/scconfig/scc_51434.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK ('', '-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16' and '-lcairo') +###report### Checking for cairo-xcb... find_cairo-xcb: + trying '#include ' and '-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16' and '-lcairo', with a run + compile: '/bin/sh -c "gcc -pipe -O2 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 /home/rafmag/xschem/scconfig/scc_97467.c -lcairo -o /home/rafmag/xschem/scconfig/scc_10097 2>&1" >/home/rafmag/xschem/scconfig/scc_66601.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_10097 >/home/rafmag/xschem/scconfig/scc_73317 2>>/home/rafmag/xschem/scconfig/scc_12902.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK ('#include \n', '-I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16' and '-lcairo') +(Required node: 'libs/gui/xcb/*') +###report### Checking for xcb... find_xcb: + trying '' and '' and '-lX11 -lxcb', with a run + compile: '/bin/sh -c "gcc -pipe -O2 /home/rafmag/xschem/scconfig/scc_70492.c -lX11 -lxcb -o /home/rafmag/xschem/scconfig/scc_60756 2>&1" >/home/rafmag/xschem/scconfig/scc_26652.out' + ========= empty stderr ================= + compile result: 0 + run: ' /home/rafmag/xschem/scconfig/scc_60756 >/home/rafmag/xschem/scconfig/scc_60280 2>>/home/rafmag/xschem/scconfig/scc_97301.out' + ========= empty stderr ================= + run result: 0 + stdout: 'OK +' +###report### OK ('', '' and '-lX11 -lxcb') +(Required node: 'libs/gui/xgetxcbconnection/*') +###report### Checking for xgetxcbconnection... find_xgetxcbconnection: + trying '' and '' and '-lX11 -lX11-xcb', with no run + compile: '/bin/sh -c "gcc -pipe -O2 /home/rafmag/xschem/scconfig/scc_24286.c -lX11 -lX11-xcb -o /home/rafmag/xschem/scconfig/scc_53865 2>&1" >/home/rafmag/xschem/scconfig/scc_9441.out' + ========= empty stderr ================= + compile result: 0 +###report### OK ('', '' and '-lX11 -lX11-xcb') +(Required node: 'libs/gui/xcb_render/*') +###report### Checking for xcb_render... find_xcb_render: + trying '' and '' and '-lX11 -lxcb-render', with no run + compile: '/bin/sh -c "gcc -pipe -O2 /home/rafmag/xschem/scconfig/scc_29689.c -lX11 -lxcb-render -o /home/rafmag/xschem/scconfig/scc_46619 2>&1" >/home/rafmag/xschem/scconfig/scc_28444.out' + ========= empty stderr ================= + compile result: 0 +###report### OK ('', '' and '-lX11 -lxcb-render') diff --git a/scconfig/configure b/scconfig/configure new file mode 100755 index 0000000000000000000000000000000000000000..9ff29f0d60ecb5e98e68a77d34973e6504b1a382 GIT binary patch literal 580440 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ⅅvce zi+7shVlC>RnRKqxV%%V_*5WTLF~%}&#jOfa%WhJtf+sYAUP&tSm!a^{fd+OiV46S~ z5aYlt0db*-p)<#L1x8e0z%UQ=2;9PLCG1iBfT~jh`&)s1T!FiI1sDbHnw?8EYvtAHnzc=bevUZHwFb%u!Vp7@julwGb@oHHYmHaFGd9*9j=ddb zCJOcug7q39v+fH7;-PmE6&Yg^q4sdRyfGXf+l*$lg0p38Y|Yu&){L!pP6~6F$&M~& z28@GJCQ|WW`B>SY>kzZa{?ZAx^zlpByt`C!n^L%ai5vA&`C$;zz+nI86Q&;KWYj$t zpg$8@3Ml07Az+jPD9cV<=Rgbk?BkRN9IpqKQ(|OY(f^!!c`BR#Uzz+B4y!(sKc_Hb z^2cT1O*%m=AbT|VQXQGqIMX4nN-MpZEuv#2&zgGR+fY#-Og%9q7Ts{MTrs{`RhtR_SC z)G}UD9S<#&40e_gdokzJ@nG4{`vq3^2MP2k5R`=Sqnjm^Ik3F^lu24I;RaI*^fdf0 zvUXKj8Xs3<4;AfeL`9ILs6WR{-fy}m5Qv19WkB9uMuDZj1AQ#SRDrZG3T%mR24pvD zcke4?>tnC0^cx{Sk+e;JBjb4Pgd;VW;>jwq1tMF#B9W<>LAs;?uE=335=e^tT98-{ zP(~v7r73oBeH9Dg1VLqMAUnF7&IA5#uzyl4z1$YaUUUHF-)=kFv{JR2Tj}yzX$O!= zr{P07{*id-kw|l9xR#(FV0To90C^-l8M$mM!UZ`-^GgGe76D*JYceqWs>zer7xi;% zEoo4C)aP7{=e(gte9GfcUSdcuAYOcdDRV_x}BEyODlB zH%CQfN;u2RHkQCn9lPj)da|+I#`mSEts-zxu|VIn@sfZ*F?m_8HK;TV;|`m)RGwjE zN2!{{Gc(i6hlnIn%`jBI?18F}OLe+Xm6w9G>q+Ty+TdRyJXE)C0lT_=iPWSISTOZr zW2qFlFMC|Lod>XRb(I2+O1�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�q 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

#4|GhP3;3>pUmNNFE8wsD zkpn&v@JZmc`uUF@cfi-8Kj#3~I6nRgNBqf={oi1bw zis*-(0e|E$9e!fK zrw9D~9S(nQ!1oXMG2IT=`k~)~fPcKl0TIAHIXd9yZE(2gzJ4bKd`7y>vLg>+CP{I^gr)=kSbfuZ5tg|GyXcER6JbMgIT$?Oval zuF1Ut|HpSY{I4SY*8{%aA3Hn~R(}Y*QG0(j0sNN}z;jISM)^z!uKGWFtCzdoFUbPn zq672a@ALZnfS)=+J}V=iZ^Q(;+doUzPLTfUNWc6+&-kFozhi>*r3v6~0xo*8<4=5C zj*9-=67a_ZPUG$O_6)w=0Rc|l9q^|DJ~Q&!X7K%!2j1@~Gx~N5aP`|I-|~uI66v=G z{ELq|{5w&=$0DD{BcJOc{my{DUIdC?R_(1ry|d#RTwn;41g=(E2Fow0>_1_~a(3U3j)618c+YzfFBX?rVAW?Sip}7_~8M+#$P8(1HL5$cgdgn zEf4te*LuQp9GsjJ@T~#Q*>#odG{02H=4iy5&4`M`Se6Svx1+=&Wpc4;D-nN z+i{M3N5B^b{FFg2_gw)$Ip7ZjJZsnK0spsvuZ{Gp0={g>^U3=8(tr;H{Ip1ab-+Jf z2k!{@;{ksv()S1a8`paNnOhXjX3<> zkZd-Uy$2B7JrOaZlj?8z)HrF5spQ ztdm1;o*?~4BK>}K>2DAC{5tq21AbH;{4)VxTnE1oc%ybbGyy!TV!WaXY&2mfxA zdtM#2`tfTt+R8`Xct1n`3huZHuZr|p z{PHaQ>n2El^#t(t3E&$ifU8=K`r&P)Z^B+P_03MV1I_KyDE-YWSZePBk9&JFzV1Eb z16MZAjxXQU)E}|beyy}i=|>fdm*2rLj;{!K>q*|;kJ;NKSs3u03mkr7q(9x@k*Ml&airh$ z69?WM@2(2?JAy%o_C?viS@NI(U#*fP_mOc_yUH$_2Ea>** zF~2T~cb|&asr4-x+%Q^W)u6z)$|B142ENYz_F;8+ z)Y3bw`tRp~YrM`3y+Jl!_f3%gTNA*aoB;kS;Pa~sjQf3Oc)6MV6!zYJ#{$=US^Ka4 zd|%Z6WLUuY;se8u6Umd4BK>FU@apn_|KwGk@-O0p&Vb*1nD^UbF@MVe|Ir_MLfIGf zdt1P-li`Nn$D%$r2mI1MHgNK|Uy|E_t3Pk4TVHls`bboDc_8xH5emN(BLA;OKDP(| zlTp#{NBVPDdnPPT_WN1D=fB1?I3wV{4EUnI@%G*o?QNRr{hXaHm&qfO0zUgZPoL=x z_78Y=qV=Uw&qD*g-zUAm^P=2$%~Ss4f5%7q6+iO)uZtw71pH5b&jJ5Wz|RTzo!@c5 zr=#4<0{;D1Ip7)3E@?M-d|Y+e80k-r^tZ>m>nBM6fk?mb4W4jDl>4!OAJgoBqa&X? z0={*-SLBxg|Eqw%y3662{Pnef-+#3y%-Z{Cz@K`~^Uvz}(|~`X%hP9crfHUsW9bQp zcSgB|fZty?E^`9j8H(!J(XJx`o}Fl%jql=sfBGk$a3u0SJ>Z8u;(!c(e!ze5rw*SV za^K|v$Jx(*8GddE_-i{Hp3%d12K>>Ozo4=G-WTx2AN2ZU>&Qm~{+iJ1X7JAhyt&2u ze{Qqqb1(2&(31y39=s^>mwHO{=ZL)LAH$sdE$L^H{)(8_kv#cI4w_y^8(_}3%-G$xD6ofiDwUqt~21pJO`9FXD3u>oKCcb-8u@8rD2|Kola zMfz6_`>Q~UM0yXE`|h7PJd^L_{3ZAg|BvUN;o*jWKX;C&Um5+mIpAM?+Tp9CU27J2 zK3Co7@DOj3KZx`@LJzaVUnlPk_#I(*$=da?fM4>AXPnW=F9iICfA9=m8~J=K;444l z{haX+j~P4?Rb74_=|BB(2d;>B{~7SF2A}Yk0dEq&ksI&VG{yLhs*L0I;NU~1hQRvo z(Lcur{N{BISmD)8mIeIb(;X1gELj`yQ-UC6^W}8`|J$IeS4Fu!1|MIa>m&UWGre3i z(e`^!!2kJw`SbFCe=y*q!JvI8;I{?*%*j#zSYJLF@HFf}kzMlnfd9=t-mbri^bZDn zsvHCO1({C1WAG@f>hhCF-@ekz4R$U0&w&5gVu$}Y@}G@BA$-2^wA%EC1pK=@z1+|H z>*QF2R}~ny|F%H+jQ^bx`5ZaN^ZAn~_mY7BV6A^6dyjrs1^j?d_;WTN*9Ux7OvF3= zby5oWhu-NGd`s#tem~&*o$K&hBK@BP{GS8y?}_?+D&Uue!6eK8$^Q)ao4URJ2l^%X zX25rbobuNJ|8c-OPjx^!`t2EmM*;1CbxXi6K3=JfPh~Tg!ZrFo5KP=DHJnX z0)9roUmqP7>_T#0z#l!$>+|bKf3?A@DiXJ&k^X@#UZ1-H{>}-~e<;!qZuRsTKHnAa zqu=Kl{C(tecfg+uhW*Td|6RZjj|~1U;NJ=Ozl0o-(c6Cv_@*vTn9<2!1-uvv*ZI-^ zQ{ex#t|ei2dm!@PH{^o9nC|@(YU|{XfPZ_JCp;taIojayan)scq<`{APngwnO~4mD z;_yt)x-{UA2LE$gxCUA$ZwD^EdPf~Ud`qPNW}QC&_AGrJ zAO7c&epSd#Cr5qm3HZZTdHu6__qBj;uj8v91Frh~VdNjnVDhs_|EkY;KJS?11^mk3 zRUH|()Ax0{^sDHY_JHpf@T1RkK*s+Z9q@04K$GbePYL*v;6E>peAWc~-gi6TQ19;K znt=bGk2xTtdv6H%ckB3yw-`J!t-5TB^u@aV*%9z_5OTC)c<<{|Ji1TXY=l70srVSPnhvt|2aYauh`G~|L|XWMdo^T$>9dCYG~Y^ zHUWGMaN)xPb@+CXrJtGnLC~>3ihMQ%e9Hk|PuYX@dvm}~`LI_c%xTHH1Ab=AyFc^f z$wvZyambIc%p`vi@b|WR{=XmTKNs+$dmWJR;a>^(n(MvXOpo-#fWPMb4*yc*^UHvL zE*!q@h<-~UJz8g<4L<7ik$z6VPp#u8=Nmi{Rb5U5E`GaS-ajkyd33}J{LlF2wE0lzvJ*l$OB?+o}Yk2xTtho1}h zr-Fc;73sei@ayX6&m#f9_n*8XmqdMj3|x5i=XG@N=aK$Z!AP!%^#8h`F@Hi9&i{l1 z#aZzE`pph_IS})4gQBMl__Eawm=f@X29JlT%bCFES3PI97e+oueaSl@!~gXe{7{GQ z7X)-L;2VPwX8i3|gJ-#pT|WSPR&M{KP^TBVJ@VN<_?%_&$zM*8&zB?H0CpWmG2|9#JRd8EHS;2*r)^Uvtj2Lk^7AQ%~+e@DP~Z1a3FedhlR_&2`h z8E5j{R{~zR&hu~aOY(z&|8&69{~+q~PXT}LFFj#4Pk$NkrPnw-qXYBUs-bcD$9H%J zncRI`z<)8*>$xQQ^Ynnf=_3wUAN5&d@Tf%9r7hAwcC06y7U_oq{^#HF#Id|3ZwmO8 zuk(Z%pZ4y6&kni~Y(cUu;C~kWTJH*Z;e!FcF*@wCQKwr2zBMZH*{IJa0>1b|-mZ+V zxIf^(9`%G#eDd{xpB)oO{@?ojz~Fvg{r9Oz-xZ40&&11?S9t$_Efm<7M?UicetaE$ zI5Oa8hW({8@;N2o?>*Y}V6{*}=#$cz0x2w#bnI(cA6MoAq0l?n2ZoGpA_ zp7RR+H1hdTR-adSeSRJASH=30?dMt)@Mk0awV^jy74YU)dj5a>ZO0t#AFnTc z!qa8_w%`BT+0_8qRhH*dH08JAPi>`^&H^d~hnr1yNk~Cq6UfgDn`9utK%L&)-Mzbe z&Fxcm z^daZ{7!US)Sn|J{=5^HnYmz^IBlC&%#Z!_W(tP(0Hf#1>$(J3b{z*J!|0emB-(~*4 zCizb#zvFYvK-)CgYx>wP+xJudD?DVUO8&R+Wd;u_pB0k-)%DEht{g; z{O0#DgB8kWQu4Djt~V>64&)wxR@OD|l>UQ9nZcym;UvO;4Ka>2n^C{5hfZ6e~g6;q6Pv zXOvHSh{{8XlW&y#i(g>I-#V7}Z@kz-)GDbo8&o4>-8=ql2guOlCawSd< zcdI>v2mBkl_kHNwI=4FC{aE=QImCK~eZK4sZ2#LnLbc*st8BirrcAEIEp>iH{@zxz1~VqG>M`ETFN zjQ>peTqyY!w^E?(@9Z+kFW5}^r&OP@kpCm||8Tj! z-+w*jf1&!^E&1zrP%+}JKbQQzd#D)p|68wNJDjKhIo<<4B>nI0Wj_N`6WuemGt7)r-{EwsN*w@}GQw z`M*v1Z<2i9ovhC(JY-i${<;&W|FGl@$WM>DCC6)}f6G^>7~|Uh-ofgBz1Eexl;&3H zzgi7;o#eMeZvJ+c{B0kL&pzw=Nr5^&sC1mCt`j z{++v6;B%6ncqZ%rs;@Hxxr6LiCI4%E5E1L>H@IAhlf!E1zeOGXyQ+Ztb@Ar@TH^`ol})KdyW}F9*3?Ww#~YDT7+2eD+Cx+PkRuCF#Ela*JDTsKn17 zmj3g%v!3VkkR6cxP@5U(v-s?w&Apu~=kJ7f_M(16be z_{k1fz>KYQ9w1EM`yz;39ZXbn01sN&3*15jjt6>T&DaooXaH<(re!!@jeR0Z8wbLc zaluYc??aO0$`O)Eszz&Wh(|z(1}1qzH1EXl4$d^{EDV69Cfl9?R1*zM^ueP-yCzYv zBdG<$E)iQ(QeVGqaMbOf{Y7?uE#&0d08aq2#1rS9w?ajk>!$#mB`dP$XZYfQM_&Uf zvteEv>25AtS>-QATl%vJ%MAR=WV~R~f_~Wn9|cw>j$<}B0*kfV2eGo7(^CJ z+&FKE8*6*pz`)?zwY^iE+dsI(jg|cdgoY=s(&TlqslfmoIG)rpJ`M_A7hS#tD~xLp z2NIv~n%!~slz0(LL3eioF zQzAGdO6(NjH4I7?g;!}HDuff(38;a{CW2QY7l;|c@&u-y$RO;ha5E_58gMtcAb1_j zQ=SKi&0u}7>$QAPxWi~)be*-1S&KLg%4`SLK!fQva zy~gz5%Kr0M36T`Amz*mAlZLneEp71miLq?ntTcOecC`qy@7$i?y3o_x@M3Rkv#y@ zi4Kdj=q;Zu3vA{BWZcoo9nKp6Ifin;Gbf164ls-{X3)(9EAG`ZD^ncjUJCuL5YXP1 zpFu$5Um3Am7|&&Nb*ln7x%pTx0rw7^T_-%YCkNzi3Bs7D&AqUV9i7*xTkXUq96LI~ zFpdG_Y_bBm*g$_xVra{DbQotlAqa7S5X`f{GcI8R$1TSe)*WXJ=eZ*U^VC3R&t2HV z=5=zEVvZUV1Zep%Vh8)>SRux*Q`Osl05^pLaujVH4er!YPCL5?kUq|BKv;s>z+iuW zq_K;YR0;IlNRk8D7WlIz1lTgtD^h7x72vA^MNJV_34tn{Q%4>Zr!WlLT%wEMWpP@s zZ@6q|_>wvh#}VKeX*_s>W8DD6^^33EGBmt-efbXN3$O~*>l?T1s9&;4Ic&Q4vaG)G z(yi-;F0F6fu;KDcw%4~0t-JIRIj9n|Xx;Eq0q8xy;0qNtjT0LHOTElfD(Z+Xf)68H z!C1h&cF{!}FWtOueSKAJRqb3SY4(WHdjwQ=2Az*m3O>{_{c1r?;j|o}^@hG9*_QJq zxtM3_66tNT3cgSAl#(1&?5Vb5anp4d*CvWLB4~Gg z@suR%^Lyn&d|cW(!PRY=vsk{EURl*>WqEO3+N6SkZLB}#Ov%Is=RE_GuktN|<(Fly zI6Yey);Dh-1|?;zdAAR*w-xVpr^hxrsD(~hKcU>Vap#?|6ceqjV8N?wgxNu#t4G4L ztA&~`ef0DQ|8m~qxb55kbB#r_C~JP7tEx{+d+->~!VyCg7V}hI1$01O37Df(Dat;k z7Q#?UyUl7Emzy#aFn$&hAKGH3 zhr%2d*Nthwrw5g{CnK78ubGZ@Zkf4=I?iVIl+if00P0x%b6sWh>o%hqfcIq5Bi_4Z zj!{9Mr?h1VwWsTIt%*rM)z86{;Jti3%$i_cSe$|xVeA3cnKIvxsPAdbw?N;is7(I%VGk*wZyDhO|!DkwFD4A;8&cgU8LknFg&VOBeq zwi!7%DqvgeWWP&pQW19}a++`U=(xqHIj37-=|N-ckBG?*Q0w5eu)Up}iQA@ygmuG* zm$UwnN7t~d3x|<{&WAez4cCHD-UW{CXz9)rU#?*4%w#ZP-iEPY3!$v-PY{a*sykh6 z!HQkDZ!imCt?NYYK2Sm-#tDI`gM z$(Buc%3J{4bwgO^im@ocW+gsIPcq(^qP&-d%nq3ii=6*mFilowkYv?hw(oJ0 z7lr*d1cpY=;g{ZMDc7|>Ou1Gz?^W4{Q4fnNDzwPKl0b3>Qmnv)oXE(FQ>PdQS9Tz4R)ip!2ZEnAId9fpNkvbP%<6z}H|5*Ck?{i`PYk(sd`(yJ6Xr=H$_4 zx<1DNli&EYK`)32LAww|4()GXU3gwz?u#Oz6UfgF<9dKY)_99&)^-d*x6zHk)#D;OAF_!RY#}K&oG)}$w606KayH# zaJnfB_HY`Dw^pSt+IqCU2M>LvJhWcLU`IeKB-<>E)KLO|+vb6a;2#KRuI z46Yf!m>^?%H4a;z%$N>k&7 zN2AlQI30_SQn91hzo9#F>L6s&-EKBG-D(+QZ$M->jQs@AGz~Gc3jb}}K_bcH6y z+mA^QQ6uh+bu?EHW{hbRyi!Ys;;o4XMzNz19c?X@5Q?*od)h5@2F7!J^Hw|qIEhJG zhALsE)-d-_5TQ;NmAo;)FMyKCnP#mEj7%h_4?*`>nYRCd+-%0ln*su(R0+mhuOc1U z{A^=!W{+&p3oh29a)L4Wjfh)FArLc0Xq%vDq1Jk1b3!%@Vi3 z!O09Uyk_Sbi2dqdESopZRJRq{nQ^$s!X|bU&}n<^iOU8O?aygEW-TlMS>Zjo%Ywy@ zHI3lOUu46 z7mT)+m;wQFxR4;htI*&S*{$I|ipJ(1y8hyJ9`?yKU>ln3p_tatw%C-$poJG_McjCe z2?tg(J2F>UZ+nXoieMgAdU4x|oU(wA%E|Z0RH> z;3JIQx>pCA=fyx7pJ~swnx$8w%po6-b9AMOC}0F;ek#TMh?bi0MD-DbEbdQvd#u-# zt`|{k7nQFydlZR*;P$~>5HMh;%9+4y)P=oj5N&h!9G2sI_}+-!1Z%Mn2c77o z^>j2KqE&n+qLxAhvqq=gDp$agI&(aVu(fXlRoLM69xAqu^G>o2BVSw2fDl%c>;7IN zS&SjD99x)OrH-^Qw%!O}>%&{OY~8+f%jWg<%ZA>DVNE_kOuSfTN|}}`o3HbQVp#C* znf9W(IY!zPVwhge7v@o!4AWIb>U?Rp^X=&-Sng(wc2(0}@fxse<48xzH!=f+tkytrm%sz zCVUXyiBmdnldDDAD#2^uF;~aj(kS|2t`eQrjm+Lt+w7!#@CuJ-#Ty9s0`M|6V;12K z2J>`dcN2A{zArVM@XoW0II6_!XaNT7&RkQ^4X65;eE>9Vl+^aZj~Pc!B!gsqwNh;v z*(yRBnDVbzXX&Nw!LbWPmAAG3b*9mo?d0Dl6Y2q%k zW7`zYsEHZ4BS2Hyu{}Np21Cy`ug^ZLT}S9~;<1Z>2u6fArC8b*ue>pzjqYv0w&49R z?UYBpXHCn(vPPROzGuhC25xr2S)@DKl*fXmS3F0HTWmHo4Rmud!WOJB^I*mF9)T-% zEpl>6OocX2dd>97LWaq<*Y>o{`!?&l?!=UTfHP`OQ%C5Ut{Dfcz380bt29?aw2DqANOMn*4;VllQF^RRFuDP}doCFu*4tY+MljS(EN$nxW4oN>P>tIf1K z&DzAwLJgw`?^``$vS6V870< zmw_ATBd*G7n5&(UvNqNnSpau3`gQ_-Uze?!@phayMn;VMTzCAPg3i%` zAy)GEnDYOBd_9ud7n}OLGv^@`%~Ka6oIWSb3&iLB*|AA_ZPAPm(6AN{coB+_z&aQmuvE*n%=&P{>h6kw&VHlQu%SbK zke`Tuk^YF%$MM-^OlWnqwu|(yqd05fXh|Y{@GizNzUP*D{8>?4W>@3v#iaf(2hOYg z;uzmqNByImINJRelJvpj7{^_f8GhCJQ<`PB;KbTA@(aGlI3C5{<=8LEuRi~WaL>}O zGbQ|j7c!1V)M1w1+N_%XH`DZeN*Bj%>d(jnpK1Fq zj`!dyO&@%eaSS~rvoHJo7svZ>m8K8g$~a#1bIO0Pl0N<(I*z}5Z}d#LTwZ0_BbD^Q zgBizP3Pl~O?e}G+&r3O~GaYwaU{6>4`ifIO`x^c?jYuE7nsNNX$>jvq^8cZdKKM7| z_@5V+(}(?p^ckGI0{^0!1DCl^xX@MoxQ^qGkk+ag>4VSntp8(r`*St3-AEt2pZ!XI zRLy7O&wf#E*w1GmGnGgm{Gff;v89fbn?Fw<`PiRhr0H`!n;V#Z=kZo*@#`y2{p=(p zw!EVJz{}nF9;V+F6<4}G9phksre@{$hd{?jzqKMaUHiq+{$4rGd58bsqw){RAI80^ z?(!wlPY9oE_wukz=1@(4?h@&rc!VBlXZ*pBDo{;t@I+Oash<62Hr$(DP{JkBZ&mtg z`)ym!9)9PV-sz*vtClGLv0Y4mw4A)Fu9i=^g_z)AgXv$nk=JM7umZ}I(wEyEGq126 iyN=)C{nUKw%#iRH^$zK)aMCONfx}EcSxHd2%>Ea`B`X{N literal 0 HcmV?d00001 diff --git a/scconfig/sccbox b/scconfig/sccbox new file mode 100755 index 0000000000000000000000000000000000000000..75e11552ec9b86d2750e2f1c942c24ec986bfc2e GIT binary patch literal 52240 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 + * + * This file is part of Cairo_JPG. + * + * Cairo_JPG is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Cairo_JPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Cairo_JPG. If not, see . + */ + +/*! \file cairo_jpg.c + * This file contains two functions for reading and writing JPEG files from + * and to Cairo image surfaces. It uses the functions from the libjpeg. + * Most of the code is directly derived from the online example at + * http://libjpeg-turbo.virtualgl.org/Documentation/Documentation + * + * All prototypes are defined in cairo_jpg.h All functions and their parameters + * and return values are described below directly at the functions. You may + * also have a look at the preprocessor macros defined below. + * + * To compile this code you need to have installed the packages libcairo2-dev + * and libjpeg-dev. Compile with the following to create an object file to link + * with your code: + * gcc -std=c99 -Wall -c `pkg-config cairo libjpeg --cflags --libs` cairo_jpg.c + * Use the following command to include the main() function and create an + * executable for testing of this code: + * gcc -std=c99 -Wall -o cairo_jpg -DCAIRO_JPEG_MAIN `pkg-config cairo libjpeg --cflags --libs` cairo_jpg.c + * + * @author Bernhard R. Fischer, 4096R/8E24F29D bf@abenteuerland.at + * @version 2020/01/18 + * @license LGPL3. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#include +#include "unistd.h" +#include +#include + +#include "cairo_jpg.h" + +/*! Macro to activate main() function. This is only used for testing. Comment + * it out (#undef) if you link this file to your own program. + */ +//#define CAIRO_JPEG_MAIN +// +/*! Define this to use an alternate implementation of + * cairo_image_surface_create_from_jpeg() which fstat(3)s the file before + * reading (see below). For huge files this /may/ be slightly faster. + */ +#undef CAIRO_JPEG_USE_FSTAT + +/*! This is the read block size for the stream reader + * cairo_image_surface_create_from_jpeg_stream(). + */ +#ifdef USE_CAIRO_READ_FUNC_LEN_T +#define CAIRO_JPEG_IO_BLOCK_SIZE 4096 +#else +/*! Block size has to be one if cairo_read_func_t is in use because of the lack + * to detect EOF (truncated reads). + */ +#define CAIRO_JPEG_IO_BLOCK_SIZE 1 +/*! In case of original cairo_read_func_t is used fstat() should be used for + * performance reasons (see CAIRO_JPEG_USE_FSTAT above). + */ +#define CAIRO_JPEG_USE_FSTAT +#endif + +/*! Define this to test jpeg creation with non-image surfaces. This is only for + * testing and is to be used together with CAIRO_JPEG_MAIN. + */ +#undef CAIRO_JPEG_TEST_SIMILAR +#if defined(CAIRO_JPEG_TEST_SIMILAR) && defined(CAIRO_JPEG_MAIN) +#include +#endif + + +#ifndef LIBJPEG_TURBO_VERSION +/*! This function makes a covnersion for "odd" pixel sizes which typically is a + * conversion from a 3-byte to a 4-byte (or more) pixel size or vice versa. + * The conversion is done from the source buffer src to the destination buffer + * dst. The caller MUST ensure that src and dst have the correct memory size. + * This is dw * num for dst and sw * num for src. src and dst may point to the + * same memory address. + * @param dst Pointer to destination buffer. + * @param dw Pixel width (in bytes) of pixels in destination buffer, dw >= 3. + * @param src Pointer to source buffer. + * @param sw Pixel width (in bytes) of pixels in source buffer, sw >= 3. + * @param num Number of pixels to convert, num >= 1; + */ +static void pix_conv(unsigned char *dst, int dw, const unsigned char *src, int sw, int num) +{ + int si, di; + + // safety check + if (dw < 3 || sw < 3 || dst == NULL || src == NULL) + return; + + num--; + for (si = num * sw, di = num * dw; si >= 0; si -= sw, di -= dw) + { +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + dst[di + 2] = src[si ]; + dst[di + 1] = src[si + 1]; + dst[di + 0] = src[si + 2]; +#else + // FIXME: This is untested, it may be wrong. + dst[di - 3] = src[si - 3]; + dst[di - 2] = src[si - 2]; + dst[di - 1] = src[si - 1]; +#endif + } +} +#endif + + +/*! This function creates a JPEG file in memory from a Cairo image surface. + * @param sfc Pointer to a Cairo surface. It should be an image surface of + * either CAIRO_FORMAT_ARGB32 or CAIRO_FORMAT_RGB24. Other formats are + * converted to CAIRO_FORMAT_RGB24 before compression. + * Please note that this may give unexpected results because JPEG does not + * support transparency. Thus, default background color is used to replace + * transparent regions. The default background color is black if not specified + * explicitly. Thus converting e.g. PDF surfaces without having any specific + * background color set will apear with black background and not white as you + * might expect. In such cases it is suggested to manually convert the surface + * to RGB24 before calling this function. + * @param data Pointer to a memory pointer. This parameter receives a pointer + * to the memory area where the final JPEG data is found in memory. This + * function reserves the memory properly and it has to be freed by the caller + * with free(3). + * @param len Pointer to a variable of type size_t which will receive the final + * lenght of the memory buffer. + * @param quality Compression quality, 0-100. + * @return On success the function returns CAIRO_STATUS_SUCCESS. In case of + * error CAIRO_STATUS_INVALID_FORMAT is returned. + */ +cairo_status_t cairo_image_surface_write_to_jpeg_mem(cairo_surface_t *sfc, unsigned char **data, size_t *len, int quality) +{ + struct jpeg_compress_struct cinfo; + struct jpeg_error_mgr jerr; + JSAMPROW row_pointer[1]; + cairo_surface_t *other = NULL; + + // check valid input format (must be IMAGE_SURFACE && (ARGB32 || RGB24)) + if (cairo_surface_get_type(sfc) != CAIRO_SURFACE_TYPE_IMAGE || + (cairo_image_surface_get_format(sfc) != CAIRO_FORMAT_ARGB32 && + cairo_image_surface_get_format(sfc) != CAIRO_FORMAT_RGB24)) + { + // create a similar surface with a proper format if supplied input format + // does not fulfill the requirements + double x1, y1, x2, y2; + other = sfc; + cairo_t *ctx = cairo_create(other); + // get extents of original surface + cairo_clip_extents(ctx, &x1, &y1, &x2, &y2); + cairo_destroy(ctx); + + // create new image surface + sfc = cairo_surface_create_similar_image(other, CAIRO_FORMAT_RGB24, x2 - x1, y2 - y1); + if (cairo_surface_status(sfc) != CAIRO_STATUS_SUCCESS) + return CAIRO_STATUS_INVALID_FORMAT; + + // paint original surface to new surface + ctx = cairo_create(sfc); + cairo_set_source_surface(ctx, other, 0, 0); + cairo_paint(ctx); + cairo_destroy(ctx); + } + + // finish queued drawing operations + cairo_surface_flush(sfc); + + // init jpeg compression structures + cinfo.err = jpeg_std_error(&jerr); + jpeg_create_compress(&cinfo); + + // set compression parameters + jpeg_mem_dest(&cinfo, data, len); + cinfo.image_width = cairo_image_surface_get_width(sfc); + cinfo.image_height = cairo_image_surface_get_height(sfc); +#ifdef LIBJPEG_TURBO_VERSION +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + //cinfo.in_color_space = JCS_EXT_BGRX; + cinfo.in_color_space = cairo_image_surface_get_format(sfc) == CAIRO_FORMAT_ARGB32 ? JCS_EXT_BGRA : JCS_EXT_BGRX; +#else + //cinfo.in_color_space = JCS_EXT_XRGB; + cinfo.in_color_space = cairo_image_surface_get_format(sfc) == CAIRO_FORMAT_ARGB32 ? JCS_EXT_ARGB : JCS_EXT_XRGB; +#endif + cinfo.input_components = 4; +#else + cinfo.in_color_space = JCS_RGB; + cinfo.input_components = 3; +#endif + jpeg_set_defaults(&cinfo); + jpeg_set_quality(&cinfo, quality, TRUE); + + // start compressor + jpeg_start_compress(&cinfo, TRUE); + + // loop over all lines and compress + while (cinfo.next_scanline < cinfo.image_height) + { +#ifdef LIBJPEG_TURBO_VERSION + row_pointer[0] = cairo_image_surface_get_data(sfc) + (cinfo.next_scanline + * cairo_image_surface_get_stride(sfc)); +#else + unsigned char* row_buf = malloc(3 * cinfo.image_width); + //unsigned char row_buf[3 * cinfo.image_width]; + pix_conv(row_buf, 3, cairo_image_surface_get_data(sfc) + + (cinfo.next_scanline * cairo_image_surface_get_stride(sfc)), 4, cinfo.image_width); + row_pointer[0] = row_buf; +#endif + (void) jpeg_write_scanlines(&cinfo, row_pointer, 1); + } + + // finalize and close everything + jpeg_finish_compress(&cinfo); + jpeg_destroy_compress(&cinfo); + + // destroy temporary image surface (if available) + if (other != NULL) + cairo_surface_destroy(sfc); + + return CAIRO_STATUS_SUCCESS; +} + + +/*! This is the internal write function which is called by + * cairo_image_surface_write_to_jpeg(). It is not exported. + */ +static cairo_status_t cj_write(void *closure, const unsigned char *data, unsigned int length) +{ + return write((intptr_t) closure, data, length) < length ? + CAIRO_STATUS_WRITE_ERROR : CAIRO_STATUS_SUCCESS; +} + + +/*! This function writes JPEG file data from a Cairo image surface by using the + * user-supplied stream writer function write_func(). + * @param sfc Pointer to a Cairo *image* surface. Its format must either be + * CAIRO_FORMAT_ARGB32 or CAIRO_FORMAT_RGB24. Other formats are not supported + * by this function, yet. + * @param write_func Function pointer to a function which is actually writing + * the data. + * @param closure Pointer to user-supplied variable which is directly passed to + * write_func(). + * @param quality Compression quality, 0-100. + * @return This function calles cairo_image_surface_write_to_jpeg_mem() and + * returns its return value. + */ +cairo_status_t cairo_image_surface_write_to_jpeg_stream(cairo_surface_t *sfc, cairo_write_func_t write_func, void *closure, int quality) +{ + cairo_status_t e; + unsigned char *data = NULL; + size_t len = 0; + + // create JPEG data in memory from surface + if ((e = cairo_image_surface_write_to_jpeg_mem(sfc, &data, &len, quality)) != CAIRO_STATUS_SUCCESS) + return e; + + // write whole memory block with stream function + e = write_func(closure, data, len); + + // free JPEG memory again and return the return value + free(data); + return e; + +} + + +/*! This function creates a JPEG file from a Cairo image surface. + * @param sfc Pointer to a Cairo *image* surface. Its format must either be + * CAIRO_FORMAT_ARGB32 or CAIRO_FORMAT_RGB24. Other formats are not supported + * by this function, yet. + * @param filename Pointer to the filename. + * @param quality Compression quality, 0-100. + * @return In case of success CAIRO_STATUS_SUCCESS is returned. If an error + * occured while opening/creating the file CAIRO_STATUS_DEVICE_ERROR is + * returned. The error can be tracked down by inspecting errno(3). The function + * internally calles cairo_image_surface_write_to_jpeg_stream() and returnes + * its return value respectively (see there). + */ +cairo_status_t cairo_image_surface_write_to_jpeg(cairo_surface_t *sfc, const char *filename, int quality) +{ + cairo_status_t e; + int outfile; + + // Open/create new file + if ((outfile = open(filename, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) == -1) + return CAIRO_STATUS_DEVICE_ERROR; + + // write surface to file + e = cairo_image_surface_write_to_jpeg_stream(sfc, cj_write, (void*)(intptr_t) outfile, quality); + + // close file again and return + close(outfile); + return e; +} + + + +/*! This function decompresses a JPEG image from a memory buffer and creates a + * Cairo image surface. + * @param data Pointer to JPEG data (i.e. the full contents of a JPEG file read + * into this buffer). + * @param len Length of buffer in bytes. + * @return Returns a pointer to a cairo_surface_t structure. It should be + * checked with cairo_surface_status() for errors. + */ +cairo_surface_t *cairo_image_surface_create_from_jpeg_mem(void *data, size_t len) +{ + struct jpeg_decompress_struct cinfo; + struct jpeg_error_mgr jerr; + JSAMPROW row_pointer[1]; + cairo_surface_t *sfc; + + // initialize jpeg decompression structures + cinfo.err = jpeg_std_error(&jerr); + jpeg_create_decompress(&cinfo); + jpeg_mem_src(&cinfo, data, len); + (void) jpeg_read_header(&cinfo, TRUE); + +#ifdef LIBJPEG_TURBO_VERSION +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ + cinfo.out_color_space = JCS_EXT_BGRA; +#else + cinfo.out_color_space = JCS_EXT_ARGB; +#endif +#else + cinfo.out_color_space = JCS_RGB; +#endif + + // start decompressor + (void) jpeg_start_decompress(&cinfo); + + // create Cairo image surface + sfc = cairo_image_surface_create(CAIRO_FORMAT_RGB24, cinfo.output_width, cinfo.output_height); + if (cairo_surface_status(sfc) != CAIRO_STATUS_SUCCESS) + { + jpeg_destroy_decompress(&cinfo); + return sfc; + } + + // loop over all scanlines and fill Cairo image surface + while (cinfo.output_scanline < cinfo.output_height) + { + unsigned char *row_address = cairo_image_surface_get_data(sfc) + + (cinfo.output_scanline * cairo_image_surface_get_stride(sfc)); + row_pointer[0] = row_address; + (void) jpeg_read_scanlines(&cinfo, row_pointer, 1); +#ifndef LIBJPEG_TURBO_VERSION + pix_conv(row_address, 4, row_address, 3, cinfo.output_width); +#endif + } + + // finish and close everything + cairo_surface_mark_dirty(sfc); + (void) jpeg_finish_decompress(&cinfo); + jpeg_destroy_decompress(&cinfo); + + // set jpeg mime data + cairo_surface_set_mime_data(sfc, CAIRO_MIME_TYPE_JPEG, data, len, free, data); + + return sfc; +} + + +/*! This function reads a JPEG image from a stream and creates a Cairo image + * surface. + * @param read_func Pointer to function which reads data. + * @param closure Pointer which is passed to read_func(). + * @return Returns a pointer to a cairo_surface_t structure. It should be + * checked with cairo_surface_status() for errors. + * @note If the surface returned is invalid you can use errno(3) to determine + * further reasons. Errno is set according to realloc(3). If you + * intend to check errno you shall set it to 0 before calling this function + * because it modifies errno only in case of an error. + */ +#ifdef USE_CAIRO_READ_FUNC_LEN_T +cairo_surface_t *cairo_image_surface_create_from_jpeg_stream(cairo_read_func_len_t read_func, void *closure) +#else +cairo_surface_t *cairo_image_surface_create_from_jpeg_stream(cairo_read_func_t read_func, void *closure) +#endif +{ + cairo_surface_t *sfc; + unsigned char *data, *tmp; + ssize_t len, rlen; + int eof = 0; + + // read all data into memory buffer in blocks of CAIRO_JPEG_IO_BLOCK_SIZE + for (len = 0, data = NULL; !eof; len += rlen) + { + // grow memory buffer and check for error + if ((tmp = realloc(data, len + CAIRO_JPEG_IO_BLOCK_SIZE)) == NULL) + break; + data = tmp; + + // read bytes into buffer and check for error + rlen = read_func(closure, data + len, CAIRO_JPEG_IO_BLOCK_SIZE); +#ifdef USE_CAIRO_READ_FUNC_LEN_T + // check for error + if (rlen == -1) + break; + + // check if EOF occured + if (rlen < CAIRO_JPEG_IO_BLOCK_SIZE) + eof++; +#else + // check for error + if (rlen == CAIRO_STATUS_READ_ERROR) + eof++; +#endif + } + + // check for error in read loop + if (!eof) + { + free(data); + return cairo_image_surface_create(CAIRO_FORMAT_INVALID, 0, 0); + } + + // call jpeg decompression and return surface + sfc = cairo_image_surface_create_from_jpeg_mem(data, len); + if (cairo_surface_status(sfc) != CAIRO_STATUS_SUCCESS) + free(data); + + return sfc; +} + + +#ifdef CAIRO_JPEG_USE_FSTAT +/*! This function reads an JPEG image from a file an creates a Cairo image + * surface. Internally the filesize is determined with fstat(2) and then the + * whole data is read at once. + * @param filename Pointer to filename of JPEG file. + * @return Returns a pointer to a cairo_surface_t structure. It should be + * checked with cairo_surface_status() for errors. + * @note If the returned surface is invalid you can use errno to determine + * further reasons. Errno is set according to fopen(3) and malloc(3). If you + * intend to check errno you shall set it to 0 before calling this function + * because it does not modify errno itself. + */ +cairo_surface_t *cairo_image_surface_create_from_jpeg(const char *filename) +{ + void *data; + int infile; + struct stat stat; + + // open input file + if ((infile = open(filename, O_RDONLY)) == -1) + return cairo_image_surface_create(CAIRO_FORMAT_INVALID, 0, 0); + + // get stat structure for file size + if (fstat(infile, &stat) == -1) + return cairo_image_surface_create(CAIRO_FORMAT_INVALID, 0, 0); + + // allocate memory + if ((data = malloc(stat.st_size)) == NULL) + return cairo_image_surface_create(CAIRO_FORMAT_INVALID, 0, 0); + + // read data + int s = read(infile, data, stat.st_size); + if ( s < stat.st_size) + return cairo_image_surface_create(CAIRO_FORMAT_INVALID, 0, 0); + + close(infile); + + return cairo_image_surface_create_from_jpeg_mem(data, stat.st_size); +} + +#else + + +/*! This is the read function which is called by + * cairo_image_surface_create_from_jpeg_stream() (non-fstat-version below). It + * is not exported. + */ +#ifdef USE_CAIRO_READ_FUNC_LEN_T +static ssize_t cj_read(void *closure, unsigned char *data, unsigned int length) +{ + return read((intptr_t) closure, data, length); +} +#else +static cairo_status_t cj_read(void *closure, unsigned char *data, unsigned int length) +{ + return read((intptr_t) closure, data, length) < length ? CAIRO_STATUS_READ_ERROR : CAIRO_STATUS_SUCCESS; +} +#endif + + +/*! This function reads an JPEG image from a file an creates a Cairo image + * surface. Internally the function calls + * cairo_image_surface_create_from_jpeg_stream() to actually read the data. + * @param filename Pointer to filename of JPEG file. + * @return Returns a pointer to a cairo_surface_t structure. It should be + * checked with cairo_surface_status() for errors. + * @note If the returned surface is invalid you can use errno to determine + * further reasons. Errno is set according to fopen(3) and malloc(3). If you + * intend to check errno you shall set it to 0 before calling this function + * because it does not modify errno itself. + */ +cairo_surface_t *cairo_image_surface_create_from_jpeg(const char *filename) +{ + cairo_surface_t *sfc; + int infile; + + // open input file + if ((infile = open(filename, O_RDONLY)) == -1) + return cairo_image_surface_create(CAIRO_FORMAT_INVALID, 0, 0); + + // call stream loading function + sfc = cairo_image_surface_create_from_jpeg_stream(cj_read, (void*)(intptr_t) infile); + close(infile); + + return sfc; +} + +#endif + + +#ifdef CAIRO_JPEG_MAIN +#include +#include + +int strrcasecmp(const char *s1, const char *s2) +{ + int off = (int) strlen(s1) - (int) strlen(s2); // typecast size_t to int because size_t typically is unsigned + return strcasecmp(s1 + (off < 0 ? 0 : off), s2); +} + +/*! Main routine, only for testing. #undef CAIRO_JPEG_MAIN or simply delete + * this part if you link this file to your own program. + */ +int main(int argc, char **argv) +{ + cairo_surface_t *sfc; + +#ifndef CAIRO_JPEG_TEST_SIMILAR + if (argc < 3) + { + fprintf(stderr, "usage: %s \n", argv[0]); + return 1; + } + + // test input file type and read file + if (!strrcasecmp(argv[1], ".png")) + { + // read PNG file + sfc = cairo_image_surface_create_from_png(argv[1]); + } + else if (!strrcasecmp(argv[1], ".jpg")) + { + // read JPEG file + sfc = cairo_image_surface_create_from_jpeg(argv[1]); + } + else + { + fprintf(stderr, "source file is neither JPG nor PNG\n"); + return 1; + } + + // check surface status + if (cairo_surface_status(sfc) != CAIRO_STATUS_SUCCESS) + { + fprintf(stderr, "error loading image: %s", cairo_status_to_string(cairo_surface_status(sfc))); + return 2; + } + + // test output file type and write file + if (!strrcasecmp(argv[2], ".png")) + { + // write PNG file + cairo_surface_write_to_png(sfc, argv[2]); + } + else if (!strrcasecmp(argv[2], ".jpg")) + { + // write JPEG file + cairo_image_surface_write_to_jpeg(sfc, argv[2], 90); + } + else + { + fprintf(stderr, "destination file is neither JPG nor PNG\n"); + return 1; + } + + cairo_surface_destroy(sfc); + +#else + sfc = cairo_pdf_surface_create("xyz.pdf", 595.276, 841.890); + + cairo_t *ctx = cairo_create(sfc); + cairo_set_source_rgb(ctx, 1, 1, 1); + cairo_paint(ctx); + cairo_move_to(ctx, 100, 100); + cairo_set_source_rgb(ctx, 1, 0, 0); + cairo_set_line_width(ctx, 3); + cairo_line_to(ctx, 400, 400); + cairo_stroke(ctx); + cairo_destroy(ctx); + + cairo_image_surface_write_to_jpeg(sfc, "xyz.jpg", 90); + cairo_surface_destroy(sfc); +#endif + + return 0; +} + +#endif + diff --git a/src/cairo_jpg.c:Zone.Identifier b/src/cairo_jpg.c:Zone.Identifier new file mode 100644 index 00000000..f03a667c --- /dev/null +++ b/src/cairo_jpg.c:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=https://raw.githubusercontent.com/rahra/cairo_jpg/master/src/cairo_jpg.c diff --git a/src/cairo_jpg.h b/src/cairo_jpg.h new file mode 100644 index 00000000..da73220d --- /dev/null +++ b/src/cairo_jpg.h @@ -0,0 +1,70 @@ +/* Copyright 2018 Bernhard R. Fischer, 4096R/8E24F29D + * + * This file is part of Cairo_JPG. + * + * Cairo_JPG is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Cairo_JPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Cairo_JPG. If not, see . + */ + +#ifndef CAIRO_JPEG_H +#define CAIRO_JPEG_H + +/*! \file cairo_jpg.h + * This file contains all prototypes for the Cairo-JPEG functions implemented + * in cairo_jpg.c. See there for the function documentation. + * + * @author Bernhard R. Fischer, 4096R/8E24F29D + * @version 2018/12/11 + * @license LGPL3 + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include + +#ifdef USE_CAIRO_READ_FUNC_LEN_T +/*! This is the type for the stream read function. Which must be implemented by + * the user if cairo_image_surface_create_from_jpeg_stream() is used. Please + * note that this prototype is slightly different from cairo_read_func_t which + * is used by cairo_image_surface_create_from_png_stream(). + * This new prototype is defined because the original prototype + * cairo_read_func_t does not allow to detect truncated reads. This issue was + * discussed on the cairographics mailinglist, see + * https://lists.cairographics.org/archives/cairo/2016-March/027298.html + * @param closure This parameter is directly passed through by + * cairo_image_surface_create_from_jpeg_stream(). + * @param data Pointer to data buffer which will receive the data. + * @param length Size of the data buffer in bytes. + * @return This function must return the actually length that was read into the + * buffer. This may actually be less than length which indicates an EOF. In + * case of any fatal unrecoverable error on the input stream -1 shall be + * returned. + */ +typedef ssize_t (*cairo_read_func_len_t) (void *closure, unsigned char *data, unsigned int length); +#endif + + +cairo_status_t cairo_image_surface_write_to_jpeg_mem(cairo_surface_t *sfc, unsigned char **data, size_t *len, int quality); +cairo_status_t cairo_image_surface_write_to_jpeg_stream(cairo_surface_t *sfc, cairo_write_func_t write_func, void *closure, int quality); +cairo_status_t cairo_image_surface_write_to_jpeg(cairo_surface_t *sfc, const char *filename, int quality); +cairo_surface_t *cairo_image_surface_create_from_jpeg_mem(void *data, size_t len); +#ifdef USE_CAIRO_READ_FUNC_LEN_T +cairo_surface_t *cairo_image_surface_create_from_jpeg_stream(cairo_read_func_len_t read_func, void *closure); +#else +cairo_surface_t *cairo_image_surface_create_from_jpeg_stream(cairo_read_func_t read_func, void *closure); +#endif +cairo_surface_t *cairo_image_surface_create_from_jpeg(const char *filename); + +#endif + diff --git a/src/cairo_jpg.h:Zone.Identifier b/src/cairo_jpg.h:Zone.Identifier new file mode 100644 index 00000000..96af666e --- /dev/null +++ b/src/cairo_jpg.h:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=https://raw.githubusercontent.com/rahra/cairo_jpg/master/src/cairo_jpg.h diff --git a/src/psprint.c b/src/psprint.c index d45b630b..eb2e4254 100644 --- a/src/psprint.c +++ b/src/psprint.c @@ -98,7 +98,242 @@ static Ps_color *ps_colors; static char ps_font_name[80] = "Helvetica"; /* Courier Times Helvetica Symbol */ static char ps_font_family[80] = "Helvetica"; /* Courier Times Helvetica Symbol */ +typedef struct +{ + unsigned char* buffer; + size_t pos; + size_t size; +} png_to_byte_closure_t; +cairo_status_t png_reader(void* in_closure, unsigned char* out_data, unsigned int length) +{ + png_to_byte_closure_t* closure = (png_to_byte_closure_t*)in_closure; + if (!closure->buffer) return CAIRO_STATUS_READ_ERROR; + memcpy(out_data, closure->buffer + closure->pos, length); + closure->pos += length; + return CAIRO_STATUS_SUCCESS; +} + +char* bin2hex(const unsigned char* bin, size_t len) +{ + char* out; + size_t i; + + if (bin == NULL || len == 0) + return NULL; + + out = malloc(len * 2 + 1); + for (i = 0; i < len; i++) { + out[i * 2] = "0123456789abcdef"[bin[i] >> 4]; + out[i * 2 + 1] = "0123456789abcdef"[bin[i] & 0x0F]; + } + out[len * 2] = '\0'; + + return out; +} + +void ps_drawPNG(xRect* r, double x1, double y1, double x2, double y2) +{ + size_t data_size; + png_to_byte_closure_t closure; + char* filter = NULL; + my_strdup(1484, &filter, get_tok_value(r->prop_ptr, "filter", 0)); + unsigned char* image_data64_ptr = get_tok_value(r->prop_ptr, "image_data", 0); + + + if (filter) { + size_t filtersize = 0; + char* filterdata = NULL; + closure.buffer = NULL; + filterdata = (char*)base64_decode(image_data64_ptr, strlen(image_data64_ptr), &filtersize); + filter_data(filterdata, filtersize, (char**)&closure.buffer, &data_size, filter); + my_free(1488, &filterdata); + } + else { + closure.buffer = base64_decode(image_data64_ptr, strlen(image_data64_ptr), &data_size); + } + closure.pos = 0; + closure.size = data_size; /* should not be necessary */ + cairo_surface_t* surface = cairo_image_surface_create_from_png_stream(png_reader, &closure); + + int png_size_x = cairo_image_surface_get_width(surface); + int png_size_y = cairo_image_surface_get_height(surface); + + cairo_surface_flush(surface); + unsigned char* png_data = cairo_image_surface_get_data(surface); + + unsigned char* invertImage = get_tok_value(r->prop_ptr, "InvertOnExport", 0); + unsigned char BG_r = 0xFF, BG_g = 0xFF, BG_b = 0xFF; + for (int i = 0; i < (png_size_x * png_size_y * 4); i += 4) + { + + unsigned char png_r = png_data[i + 0]; + unsigned char png_g = png_data[i + 1]; + unsigned char png_b = png_data[i + 2]; + unsigned char png_a = png_data[i + 3]; + + if(invertImage[0]=='1') + { + png_data[i + 0] = (0xFF-png_r) + (unsigned char)((double)BG_r * ((double)(0xFF - png_a)) / ((double)(0xFF))); + png_data[i + 1] = (0xFF-png_g) + (unsigned char)((double)BG_g * ((double)(0xFF - png_a)) / ((double)(0xFF))); + png_data[i + 2] = (0xFF-png_b) + (unsigned char)((double)BG_b * ((double)(0xFF - png_a)) / ((double)(0xFF))); + png_data[i + 3] = 0xFF; + }else + { + png_data[i + 0] = png_r + (unsigned char)((double)BG_r * ((double)(0xFF - png_a)) / ((double)(0xFF))); + png_data[i + 1] = png_g + (unsigned char)((double)BG_g * ((double)(0xFF - png_a)) / ((double)(0xFF))); + png_data[i + 2] = png_b + (unsigned char)((double)BG_b * ((double)(0xFF - png_a)) / ((double)(0xFF))); + png_data[i + 3] = 0xFF; + } + + } + cairo_surface_mark_dirty(surface); + + cairo_image_surface_write_to_jpeg(surface, "temp.jpg", 100); + unsigned char* jpgData; + FILE* fp; + fp = fopen("temp.jpg", "rb"); /* Open the file for reading */ + fseek(fp, 0L, SEEK_END); + int fileSize = ftell(fp); + rewind(fp); + jpgData = malloc(fileSize); + fread(jpgData, sizeof(jpgData[0]), fileSize, fp); + fclose(fp); + + unsigned char* hexEncodedJPG = bin2hex(jpgData, fileSize); + + fprintf(fd, "gsave\n"); + fprintf(fd, "%g %g translate\n", X_TO_PS(x1), Y_TO_PS(y1)); + fprintf(fd, "%g %g scale\n", X_TO_PS(x2) - X_TO_PS(x1), Y_TO_PS(y2) - Y_TO_PS(y1)); + fprintf(fd, "%d\n", png_size_x); + fprintf(fd, "%d\n", png_size_y); + fprintf(fd, "8\n"); + fprintf(fd, "[%d 0 0 %d 0 0]\n", png_size_x, png_size_y); + fprintf(fd, "(%s)\n", hexEncodedJPG); + fprintf(fd, "/ASCIIHexDecode\n"); + fprintf(fd, "filter\n"); + fprintf(fd, "0 dict\n"); + fprintf(fd, "/DCTDecode\n"); + fprintf(fd, "filter\n"); + fprintf(fd, "false\n"); + fprintf(fd, "3\n"); + fprintf(fd, "colorimage\n"); + fprintf(fd, "grestore\n"); + + free(hexEncodedJPG); free(jpgData); +} + + +void ps_embedded_graph(xRect* r, double rx1, double ry1, double rx2, double ry2) +{ + #if defined(HAS_CAIRO) + char* ptr = NULL; + double x1, y1, x2, y2, w, h, rw, rh, scale; + char transform[150]; + png_to_byte_closure_t closure; + cairo_surface_t* png_sfc; + int save_draw_window, save_draw_grid, rwi, rhi; + size_t olength; + const double max_size = 2000.0; + + if (!has_x) return; + rw = fabs(rx2 - rx1); + rh = fabs(ry2 - ry1); + scale = 2.0; + if (rw > rh && rw > max_size) { + scale = max_size / rw; + } + else if (rh > max_size) { + scale = max_size / rh; + } + rwi = (int)(rw * scale + 1.0); + rhi = (int)(rh * scale + 1.0); + save_restore_zoom(1); + set_viewport_size(rwi, rhi, 1.0); + zoom_box(rx1-2, ry1-2, rx2+2, ry2+2, 1.0); + resetwin(1, 1, 1, rwi, rhi); + save_draw_grid = tclgetboolvar("draw_grid"); + tclsetvar("draw_grid", "0"); + save_draw_window = xctx->draw_window; + xctx->draw_window = 0; + xctx->draw_pixmap = 1; + xctx->do_copy_area = 0; + int d_c = tclgetboolvar("dark_colorscheme"); + tclsetboolvar("dark_colorscheme", 0); + build_colors(0, 0); + draw(); + #ifdef __unix__ + png_sfc = cairo_xlib_surface_create(display, xctx->save_pixmap, visual, + xctx->xrect[0].width, xctx->xrect[0].height); + #else + /* pixmap doesn't work on windows + Copy from cairo_save_sfc and use cairo + to draw in the data points to embed the graph */ + png_sfc = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, xctx->xrect[0].width, xctx->xrect[0].height); + cairo_t* ct = cairo_create(png_sfc); + cairo_set_source_surface(ct, xctx->cairo_save_sfc, 0, 0); + cairo_set_operator(ct, CAIRO_OPERATOR_SOURCE); + cairo_paint(ct); + for (int i = 0; i < xctx->rects[GRIDLAYER]; i++) { + xRect* r2 = &xctx->rect[GRIDLAYER][i]; + if (r2->flags & 1) { + setup_graph_data(i, 8, 0, &xctx->graph_struct); + draw_graph(i, 8, &xctx->graph_struct, (void*)ct); + } + } + #endif + closure.buffer = NULL; + closure.size = 0; + closure.pos = 0; + + + cairo_image_surface_write_to_jpeg(png_sfc, "temp.jpg", 100); + + unsigned char* jpgData; + FILE* fp; + fp = fopen("temp.jpg", "rb"); + fseek(fp, 0L, SEEK_END); + int fileSize = ftell(fp); + rewind(fp); + jpgData = malloc(fileSize); + fread(jpgData, sizeof(jpgData[0]), fileSize, fp); + fclose(fp); + + unsigned char* hexEncodedJPG = bin2hex(jpgData, fileSize); + + cairo_surface_destroy(png_sfc); + xctx->draw_pixmap = 1; + xctx->draw_window = save_draw_window; + xctx->do_copy_area = 1; + tclsetboolvar("draw_grid", save_draw_grid); + save_restore_zoom(0); + resetwin(1, 1, 1, 0, 0); + change_linewidth(-1.); + tclsetboolvar("dark_colorscheme", d_c); + build_colors(0, 0); + draw(); + + fprintf(fd, "gsave\n"); + fprintf(fd, "%f %f translate\n", X_TO_PS(rx1), Y_TO_PS(ry1)); + fprintf(fd, "%f %f scale\n", X_TO_PS(rx2) - X_TO_PS(rx1), Y_TO_PS(ry2) - Y_TO_PS(ry1)); + fprintf(fd, "%d\n", rwi); + fprintf(fd, "%d\n", rhi); + fprintf(fd, "8\n"); + fprintf(fd, "[%d 0 0 %d 0 0]\n", rwi, rhi); + fprintf(fd, "(%s)\n", hexEncodedJPG); + fprintf(fd, "/ASCIIHexDecode\n"); + fprintf(fd, "filter\n"); + fprintf(fd, "0 dict\n"); + fprintf(fd, "/DCTDecode\n"); + fprintf(fd, "filter\n"); + fprintf(fd, "false\n"); + fprintf(fd, "3\n"); + fprintf(fd, "colorimage\n"); + fprintf(fd, "grestore\n"); + + free(hexEncodedJPG); free(jpgData); + #endif +} static void set_lw(void) { if(xctx->lw==0.0) @@ -601,11 +836,16 @@ static void ps_draw_symbol(int n,int layer, int what, short tmp_flip, short rot, } if( xctx->enable_layer[layer] ) for(j=0;j< (xctx->inst[n].ptr+ xctx->sym)->rects[layer];j++) { - rect = ((xctx->inst[n].ptr+ xctx->sym)->rect[layer])[j]; - ROTATION(rot, flip, 0.0,0.0,rect.x1,rect.y1,x1,y1); - ROTATION(rot, flip, 0.0,0.0,rect.x2,rect.y2,x2,y2); - RECTORDER(x1,y1,x2,y2); - ps_filledrect(layer, x0+x1, y0+y1, x0+x2, y0+y2, rect.dash, rect.fill); + rect = ((xctx->inst[n].ptr+ xctx->sym)->rect[layer])[j]; + ROTATION(rot, flip, 0.0,0.0,rect.x1,rect.y1,x1,y1); + ROTATION(rot, flip, 0.0,0.0,rect.x2,rect.y2,x2,y2); + RECTORDER(x1,y1,x2,y2); + if (rect.flags & 1024)//image + { + ps_drawPNG(&rect, x0 + x1, y0 + y1, x0 + x2, y0 + y2); + continue; + } + ps_filledrect(layer, x0+x1, y0+y1, x0+x2, y0+y2, rect.dash, rect.fill); } if( (layer==TEXTWIRELAYER && !(xctx->inst[n].flags&2) ) || (xctx->sym_txt && (layer==TEXTLAYER) && (xctx->inst[n].flags&2) ) ) @@ -682,6 +922,8 @@ static void fill_ps_colors() } + + void create_ps(char **psfile, int what) { double dx, dy, scale, scaley; @@ -690,8 +932,8 @@ void create_ps(char **psfile, int what) double margin=10; /* in postscript points, (1/72)". No need to add margin as xschem zoom full already has margins.*/ /* Legal: 612 792 */ - double pagex=842;/* a4, in postscript points, (1/72)" */ - double pagey=595;/* a4, in postscript points, (1/72)" */ + double pagex=792;/* a4, in postscript points, (1/72)" */ + double pagey=612;/* a4, in postscript points, (1/72)" */ xRect boundbox; int c,i, textlayer; int old_grid; @@ -867,6 +1109,15 @@ void create_ps(char **psfile, int what) ps_filledrect(c, xctx->rect[c][i].x1, xctx->rect[c][i].y1, xctx->rect[c][i].x2, xctx->rect[c][i].y2, xctx->rect[c][i].dash, xctx->rect[c][i].fill); } + if (c == GRIDLAYER && (xctx->rect[c][i].flags & 1024)) { /* image */ + xRect* r = &xctx->rect[c][i]; + //PNG Code Here + ps_drawPNG(r, r->x1, r->y1, r->x2, r->y2); + } + if (c == GRIDLAYER && (xctx->rect[c][i].flags & 1)) { /* graph */ + xRect* r = &xctx->rect[c][i]; + ps_embedded_graph(r, r->x1, r->y1, r->x2, r->y2); + } } for(i=0;iarcs[c];i++) { diff --git a/src/xschem.h b/src/xschem.h index 7446cfdd..d86f00b2 100644 --- a/src/xschem.h +++ b/src/xschem.h @@ -111,6 +111,7 @@ extern char win_temp_dir[PATH_MAX]; #if HAS_CAIRO==1 #define DRAW_ALL_CAIRO 0 /* use cairo for all graphics. Work in progress! */ #include +#include "cairo_jpg.h" #ifdef __unix__ #include #include "cairo-xlib-xrender.h"