[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gEDA: Win compile help please
Hi,
Okay, I did bit more digging and discovered that
'getopt' is also contained in libmingwex.a. GCC - in the mingw version
that I have - links this library by default (see the output of gcc
-dumpspecs).
I know that I had to link libiberty.a explicitly
when I first compiled Icarus on Windows. You might try that...
With respect to gperf and bison, I assume Cygwin is
providing appropriate versions. If everything compiles okay, then the
versions are probably appropriate.
The last step of my instructions is necessary on Mingw because man and ps2pdf are not provided by Mingw.
Try modifying the Makefile for ivl.exe to link in
libiberty. If libmingwex exists in your install, try linking this (you
can run 'nm' on the lib first to see if getopt exists in that
libmingwex).
Let me know what you find...
Regards,
Matthew
On 7/4/05, CN <mis4@scionix.com> wrote:
Hello Mathew,
Thank you for the response! This is very encouraging that you have had
success recently. I was getting a bit desparate :) Even though I have
been programming for the last 40 years or so, I am very new to cygwin,
ivl, and openSrc in general ... [I had no problem compiling ivl under
linux.]
A. My cygwin setup shows gperf 2.7.2-1 as the latest... Is 3.0.1
needed? How come my cygwin installer does not show any past 2.7.2?
B. Bison installed shows 20030307-1.
C. I do have libiberty.a in c:\MinGW\lib (as well as in c:\cygwin\lib);
but there is no getopt.h under the MinGW tree, there is one under
c:\cygwin\usr\include\mingw. How does the g++ -o step below get to this
lib, I do not see any CPP or LD FLAGS referring to this.
D. This may not be my immedate problem; but I am not clear about your
last step... am I supposed to create those two files each with just
those 3 lines? I do have a c:\cygwin\bin\ps2pdf:
----
#!/bin/sh
# $Id: ps2pdf,v 1.3 2002/02/21 21:49:28 giles Exp $
# Convert PostScript to PDF.
# Currently, we produce PDF 1.2 by default, but this is not guaranteed
# not to change in the future.
exec ps2pdf12 "$@"
----
and a c:\cygwin\etc\preremove\masn.sh:
----
#!/bin/sh
# man version 1.5p
manifest=/etc/preremove/man-manifest.lst
[ -f $manifest ] || (echo "Unable to find manifest file" && exit 0)
echo "*** Removing unmodified base files."
echo "*** These will be updated by the postinstall script."
echo "*** Please wait."
while read f; do
/bin/cmp -s "/${f}" "/etc/defaults/${f}" && \
(echo /$f hasn\'t been modified, it will be updated ; \
/bin/rm -f "/${f}")
done < ${manifest}
----
Any help will be very much appreciated!!
Cordially, CN
--Original Message Text---
From: Matthew Ballance
Date: Mon, 4 Jul 2005 01:47:09 -0700
getopt comes from libiberty.a - at least on Mingw. Here are my
directions for building IVI under Mingw (I use Mingw instead of Cygwin).
- install gperf-3.0.1 (from your favorite GNU mirror)
- install bison-2.0-MSYS from the mingw site
- Create 'man' and 'ps2pdf' shell scripts. Each of these scripts is:
#!/bin/sh
echo ""
Seems to build for me...
Regards,
Matthew
On 7/3/05, CN <mis4@scionix.com> wrote: Stephen,
Any idea where the getopt library comes from for the mingw compile? I
have looked everywhere, and have installed more of the cygwin related
libs and other stuff without any success. If I know where the lib is
located, I may be able to tune the config or Makefile
Do you know of anybody who currently builds the win version? Perhaps I can try to contact him/her?
CLUE: in the first of two steps of ivl.exe build steps,
g++ -o ivl.exe main.o async.o design_dump.o dup_expr.o elaborate.o elab_expr.o e
| lab_lval.o elab_net.o elab_anet.o elab_pexpr.o elab_scope.o elab_sig.o emit.o ev
| al.o eval_attrib.o eval_tree.o expr_synth.o functor.o lexor.o lexor_keyword.o li
| nk_const.o load_module.o netlist.o netmisc.o net_assign.o net_design.o net_event
| .o net_expr.o net_force.o net_func.o net_link.o net_modulo.o net_nex_input.o net
| _nex_output.o net_proc.o net_scope.o net_udp.o net_variable.o pad_to_width.o par
| se.o parse_misc.o pform.o pform_dump.o set_width.o symbol_search.o sync.o sys_fu
| ncs.o verinum.o verireal.o target.o targets.o Attrib.o HName.o LineInfo.o Module
| .o PData.o PDelays.o PEvent.o PExpr.o PGate.o PTask.o PUdp.o PFunction.o PWire.o
| Statement.o StringHeap.o cprop.o nodangle.o synth.o synth2.o syn-rules.o xnfio.
| o t-dll.o t-dll-api.o t-dll-expr.o t-dll-proc.o t-xnf.o
since there are no additional lib directives, I assume g++ has some
libs it searches by default? Do you know which one it might be?
Cordially, Chacko
On Wed, 29 Jun 2005 15:51:31 -0700, Stephen Williams wrote:
Also, there is something fishy about HAVE_GETOPT_H in your
generated config.h. That is *defined* in the example I have
in front of me.