[M3devel] Couple of CM3 build comments (Solaris/SPARC).

Tony Hosking hosking at cs.purdue.edu
Thu Aug 16 19:53:42 CEST 2007


I just built cm3cg on SPARC:

hosking at arthur ~-> ldd /p/sss/cm3/bin/cm3cg
         libc.so.1 =>     /usr/lib/libc.so.1
         libdl.so.1 =>    /usr/lib/libdl.so.1
         /usr/platform/SUNW,Sun-Fire-V250/lib/libc_psr.so.1
hosking at arthur ~->

No libiconv...

The bootstrap compiler (cm3) and backend (cm3cg) are available at  
ftp://ftp.cs.purdue.edu/pub/hosking/m3/SOLgnu in files cm3.gz and  
cm3cg.gz.  These are both built from the CVS head and contain LONGINT  
support.


On Aug 16, 2007, at 1:46 PM, Stefan Sperling wrote:

> On Mon, Aug 13, 2007 at 08:55:01PM -0700, Alex Bochannek wrote:
>> Is it possible to configure it with --disable-nls? That's what we  
>> tend
>> to do for our GCC builds as well. I just looked at the EZM3  
>> install we
>> have and it doesn't seem like it requires libiconv.
>
> I'd favour listing libiconv as an explicit dependency of cm3.
>
> I've looked into this, and --disable-nls is not sufficient to remove
> gcc's dependency on libiconv. It unconditionally depends on libiconv
> if it can find the library on the system, regardless of flags passed
> to the configure script.
>
> I've tried hacking iconv detection out of the build system.
> There's a diff below against cm3-5.4 that removes cm3cg's
> dependency on libiconv. But it is very ugly.
>
> m3gdb also unconditionally depends on libiconv.
> I have not looked into that.
>
> I cannot deinstall libiconv on our Solaris box to prevent configure
> from picking it up because I don't have root, and I don't really think
> it's a good idea to begin with because removing the library would
> probably break a lot of dependencies.
>
> Alex, could you provide more details on what gcc backend you are  
> using?
> Does the ezm3 equivalent of the cm3cg executable depend on libiconv?
>
>
> % ldd /usr/local/cm3/bin/cm3cg
>         libiconv.so.2 =>         /usr/local/lib/libiconv.so.2
>         libc.so.1 =>     /lib/libc.so.1
>         libdl.so.1 =>    /lib/libdl.so.1
>         /usr/platform/SUNW,Ultra-30/lib/libc_psr.so.1
>
> With the patch below I get:
>
> % ldd /usr/stsp/cm3/bin/cm3cg
>         libc.so.1 =>     /lib/libc.so.1
>         libdl.so.1 =>    /lib/libdl.so.1
>         /usr/platform/SUNW,Ultra-30/lib/libc_psr.so.1
>
>
> Index: src/m3makefile
> ===================================================================
> RCS file: /usr/cvs/cm3/m3-sys/m3cc/src/m3makefile,v
> retrieving revision 1.16.2.1
> diff -u -r1.16.2.1 m3makefile
> --- src/m3makefile	23 Aug 2006 14:24:27 -0000	1.16.2.1
> +++ src/m3makefile	16 Aug 2007 17:27:18 -0000
> @@ -126,7 +126,8 @@
>    if stale(donep, donep)
>      if equal (M3CC_HOST, M3CC_TARGET)
>        if equal (M3CC_TARGET, "SOLgnu")
> -        exec ("cd", build_dir, "; .." & SL & "gcc" & SL &  
> "configure",
> +        exec ("cd", build_dir, "; env am_cv_lib_iconv=no .."
> +	      & SL & "gcc" & SL & "configure",
>                M3CC_CONFIG,
>                "--srcdir=.." & SL & "gcc",
>                "--enable-languages=m3cg",
> Index: gcc/gcc/Makefile.in
> ===================================================================
> RCS file: /usr/cvs/cm3/m3-sys/m3cc/gcc/gcc/Makefile.in,v
> retrieving revision 1.6
> diff -u -r1.6 Makefile.in
> --- gcc/gcc/Makefile.in	10 Aug 2006 00:29:50 -0000	1.6
> +++ gcc/gcc/Makefile.in	16 Aug 2007 17:27:18 -0000
> @@ -471,8 +471,8 @@
>  LIBINTL_DEP = @LIBINTL_DEP@
>
>  # Character encoding conversion library.
> -LIBICONV = @LIBICONV@
> -LIBICONV_DEP = @LIBICONV_DEP@
> +#LIBICONV = @LIBICONV@
> +#LIBICONV_DEP = @LIBICONV_DEP@
>
>  # The GC method to be used on this system.
>  GGC=@GGC at .o
> @@ -718,7 +718,7 @@
>  BUILD_LIBIBERTY = @FORBUILD@/libiberty/libiberty.a
>
>  # Dependencies on the intl and portability libraries.
> -LIBDEPS= $(LIBIBERTY) $(LIBINTL_DEP) $(LIBICONV_DEP)
> +LIBDEPS= $(LIBIBERTY) $(LIBINTL_DEP) #$(LIBICONV_DEP)
>
>  # Likewise, for use in the tools that must run on this machine
>  # even if we are cross-building GCC.
> @@ -726,7 +726,7 @@
>
>  # How to link with both our special library facilities
>  # and the system's installed libraries.
> -LIBS = @LIBS@ $(LIBIBERTY) $(LIBINTL) $(LIBICONV)
> +LIBS = @LIBS@ $(LIBIBERTY) $(LIBINTL) #$(LIBICONV)
>
>  # Any system libraries needed just for GNAT.
>  SYSLIBS = @GNAT_LIBEXC@
>
> -- 
> Stefan Sperling <stsp at elego.de>                 Software Developer
> elego Software Solutions GmbH                            HRB 77719
> Gustav-Meyer-Allee 25, Gebaeude 12        Tel:  +49 30 23 45 86 96
> 13355 Berlin                              Fax:  +49 30 23 45 86 95
> http://www.elego.de                 Geschaeftsfuehrer: Olaf Wagner




More information about the M3devel mailing list