Subject: Some problems/suggestions concerning GCC
From: [email-masked] (Nick van Eijndhoven)

7 Feb 1997 08:04:56 -0800
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Original-To: [email-masked]
Original-Cc: [email-masked] (Nick van Eijndhoven)
X-Mailer: ELM [version 2.4 PL25]
Original-Sender: [email-masked]

Dear GNU development team,
I am developing programs in C++ for one of the large future experiments
at CERN (Geneva). I do this on my windows95 PC and I am now looking
for an implementation of gcc (or g++ if you like) on the win95
system with which I can generate DLL's.
So far I have been happy with the DJGPP package, but no effort is made
there to implement DLL's.
I then saw your web page announcing DLL support and so I took your
all.tar.gz file from the cygnus site and tried a few things.
Here are my experiences :

* After having unpacked and installed the all.tar.gz package I could
  compile my C++ programs without any problem.
  Also the lib.a creation using "ar" run well.
  So far the good news ....

* The ar facility in your beta 17.1 release behaves differently from
  some unix platforms (and also DJGPP v2.0).
  The difference is that for your ar one can't say "ar -s lib.a *.o"
  whereas in DJGPP and some unix environments one can.
  The "ar -s lib.a *.o" for a non-existing lib.a then acts as your
  "ar -rs lib.a *.o". Since in High energy physics we have developed
  very poweful source code management systems (e.g. CMZ) where 
  also library creation commands for various platforms have been
  incorporated, it would be nice if all GNU products would stick
  to 1 convention for ar.
  I would prefer the "ar -s " functionality to be reintroduced again
  in case the lib.a doesn't exist.
  The idea is that in these large collaborations
  we are trying to make the GNU software to a standard to be used
  worldwide.

* None of the examples you give for creating DLL's work, when
  the example programs foo, bar etc... are specified to be C++
  source (i.e. foo.cc, bar.cc etc...)
  It would be convenient if an argument -dll could be added to the
  ar facility, such that apart from the file lib.a also a file lib.dll
  would be created automatically. Since the ar command gets all the *.o
  files as arguments, it could create automatically the .def file
  and if then ar would invoke dlltool if the argument -dll was specified
  everything would go in 1 pass.
  The fact that currently one has to make the .def file by hand is a
  pain. Furthermore, what should I put in the .def file for a C++ class ?

* Since I am only interested in getting GCC, it would be convenient
  if you would also have a gcc.tar.gz with a full working gcc but
  without all this UNIX stuff. If I want to run UNIX I can install
  your ULTRIX operating system instead of windows95.

* The directory structure of all.tar.gz is unnecessary complicated
  with all these long names. for gcc.tar.gz a structure a la DJGPP
  would be much more simple and transparant.
  i.e. something like :

  C:\
  |
  gcc
    |-bin
    |
    |-lib
    |
    |-include
    |
    |-tmp

  would be more convenient, where the 'include' directory could then
  have (if needed) some subdirectory per language (e.g. C, C++, objC
  etc...).

* It would be convenient if the user could specify the env. vars :

  C_INCLUDE_PATH
  CPLUS_INCLUDE_PATH
  LIBRARY_PATH

  so that here one could also add his private directories.

                                            Cheers,
                                      Nick van Eijndhoven
 
*----------------------------------------------------------------------*
 Dr. Nick van Eijndhoven                Department of Subatomic Physics
 email : [email-masked]                Utrecht University / NIKHEF
 tel. +31-30-2532331 (direct)           P.O. Box 80.000
 tel. +31-30-2531492 (secr.)            NL-3508 TA Utrecht
 fax. +31-30-2518689                    The Netherlands
 WWW : http://www.fys.ruu.nl/~nick      Office : Ornstein lab. 172
*----------------------------------------------------------------------*
-
For help on using this list, send a message to
"[email-masked]" with one line of text: "help".