Index: trunk/config.h.in =================================================================== --- trunk/config.h.in (revision 38298) +++ trunk/config.h.in (revision 38299) @@ -60,7 +60,10 @@ print {\n\n/* Define to 1 if you have libxml2 installed. */\n} print_ternary ?libs/sul/libxml2/presents {#define PCB_HAVE_LIBXML2 1} {/* #undef PCB_HAVE_LIBXML2 */} +print {\n\n/* Define to 1 if you have libxml2 installed. */\n} +print_ternary ?/local/pcb/want_font2 {#define PCB_WANT_FONT2 1} {/* #undef PCB_WANT_FONT2 */} + print [@ /* Relative path from bindir to exec_prefix */ Index: trunk/doc/TODO =================================================================== --- trunk/doc/TODO (revision 38298) +++ trunk/doc/TODO (revision 38299) @@ -23,6 +23,9 @@ - BUG: thermal tool allows invalid polygon assert. might be a non bug. load bug_files/TODO/thermal-assert.rp and use thermal tool and shift click to start cycling through thermal types on padstack. Assert eventually occurs. [report: Erich] 2. For later releases =============================================================================== +- librnd4.1: + - remove PCB_WANT_FONT2, it's the default + - remove --enable-font2 and want_font2 from scconfig and config.h, it's the default - BUG: bug_files/TODO/ppc_full.*: poly-clear-poly should respect full-poly flag and apply all islands only if full-poly is set - BUG: start pcb-rnd, { w l }, select tssop(), place on layout, shift click to replace tssop() on layout with tssop() in buffer, then { u u }, note "pcb_search_obj_by_id(): internal error, search for ID XXXX failed" [report: Erich] - BUG?: enforce style clearance doesn't work with middle-line rubber band move, see bug_files/TODO/drag.rs [report: Majenko] Index: trunk/scconfig/hooks.c =================================================================== --- trunk/scconfig/hooks.c (revision 38298) +++ trunk/scconfig/hooks.c (revision 38299) @@ -37,6 +37,8 @@ {"disable-byaccic", "/local/pcb/want_byaccic", arg_false, "$disable generating language files byaccic/ureglex"}, {"enable-polybool", "/local/pcb/want_polybool", arg_true, "$enable the new polygon clipping library"}, {"disable-polybool", "/local/pcb/want_polybool", arg_false, "$disable the new polygon clipping library"}, + {"enable-font2", "/local/pcb/want_font2", arg_true, "$enable the new font library in librnd; temporary; requires librnd >=4.1.0"}, + {"disable-font2", "/local/pcb/want_font2", arg_false, "$disable the new font library in librnd; temporary; requires librnd >=4.1.0"}, #undef plugin_def #undef plugin_header @@ -107,6 +109,7 @@ put("/local/pcb/want_byaccic", sfalse); put("/local/pcb/want_static", sfalse); put("/local/pcb/want_polybool", sfalse); + put("/local/pcb/want_font2", sfalse); put("/local/pcb/dot_pcb_rnd", ".pcb-rnd"); put("/local/pcb/librnd_prefix", TO_STR(LIBRND_PREFIX)); @@ -176,6 +179,10 @@ } } +/* TODO: remove this; for /local/pcb/want_font2 test */ +extern unsigned long librnd_ver_get(int *major, int *minor, int *patch); + + /* Runs when things should be detected for the target system */ int hook_detect_target() { @@ -190,6 +197,15 @@ if (rnd_hook_detect_sys() != 0) return 1; + if (istrue(get("/local/pcb/want_font2"))) { + int major, minor, patch; + librnd_ver_get(&major, &minor, &patch); + if ((major < 4) || (minor < 1)) { + fprintf(stderr, "configuration error: can't enable font2: requires librnd >=4.1.0\n(You have librnd %d.%d.%d)\n", major, minor, patch); + exit(1); + } + } + if (want_fuse) { require("libs/sul/fuse/*", 0, 0); if (!istrue(get("libs/sul/fuse/presents"))) {