[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: Win32 hit list...



A list of fairly simple programming tasks (or at least, things to fix)
to make gEDA and PCB work better on Win32. I'm opening this up to the
list, as I've not got the time to work on them myself. Most / all of
these need resolving if we want a sensible gschem->PCB work-flow on
Win32.


The nsi installer I use when I build the suite sets the following
variables only:

  ${EnvVarUpdate} $0 "PATH"            "A" "HKLM" "$INSTDIR\bin"
  ${EnvVarUpdate} $0 "GEDADATA"        "A" "HKLM" "$INSTDIR\share\gEDA"
  ${EnvVarUpdate} $0 "GUILE_LOAD_PATH" "A" "HKLM" "$INSTDIR\share\guile\

Other tools assume certain hard-coded paths, or variables being set.
Perhaps we can set some of the other variables for now.. but I'd prefer
to see the number reduced.

Ideally, we wouldn't need any - but we might need to patch Guile as well.



gnet-gsch2pcb backend:

Teach it to find the PCB library files relative to the installed
directory. Libgeda can find the gschem library, therefore with the right
use of variables - it can find the install directory - even on Win32.
(If we assume PCB and gEDA are installed at the same prefix).

In gnet-gsch2pcb.in, we have the following non-portable things:

;; Let the user override the m4 command, the directory
;; where pcb stores its m4 files and the pcb config directory.
(if (not (defined? 'gsch2pcb:pcb-m4-command)) (define gsch2pcb:pcb-m4-command "@m4@"))
(if (not (defined? 'gsch2pcb:pcb-m4-dir)) (define gsch2pcb:pcb-m4-dir "@pcbm4dir@"))
(if (not (defined? 'gsch2pcb:pcb-m4-confdir)) (define gsch2pcb:pcb-m4-confdir "@pcbconfdir@")
 
                                        Hard coded paths are not relocatable ^^^^^^^^

;; Let the user override the m4 search path
(if (not (defined? 'gsch2pcb:pcb-m4-path))
    (define gsch2pcb:pcb-m4-path (list gsch2pcb:pcb-m4-dir gsch2pcb:pcb-m4-confdir "$HOME/.pcb" "."))
)
                                             This path is probably wrong on Windows  ^^^^^^^^^


gsch2pcb:


	pcbdata_path = g_getenv ("PCBDATA");  /* do not free return value */
                                   ^^^^^^____ We don't actually set this when installed on Win32

		m4_pcbdir = g_strconcat( PCBDATADIR, "/pcb/m4", NULL );
                                           ^^^^^^^____ Hard-coded at build time is bad for relocatability

Add a configure time option to _disable_ M4 operation - to work around
our lack of M4 support in our Win32 build.

(Or - preferably, teach minipack to build M4 so old-lib libraries can
work on Win32)


PCB:

Re-write lib/QueryLibrary.sh in C
Re-write lib/ListLibraryContents.sh in C

(OR, add similar built-in functionality for "normal" installs inside PCB)

(Need to do the above in order to fix old-lib support, avoid error
messages at start-up etc..)


xgsch2pcb:

Figure out the following for minipack:

Building python for Win32
Building DBus / Win-dbus / whatever the working variant is on Win32
Building py-dbus (Python dbus binding) on Win32

(OR..)

Win-dbus + re-write xgsch2pcb in C. When I last looked, I seriously
thought this might be a good idea rather than adding python and pydbus
to the list of things we need to build and ship.


Best wishes,

Peter C.



_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user