[M3devel] Couple of CM3 build comments (Solaris/SPARC).
Tony Hosking
hosking at cs.purdue.edu
Thu Aug 16 19:54:55 CEST 2007
PS Here is how I configured building in m3cc/SOLgnu:
../gcc/configure --enable-languages=m3cg --disable-nls
On Aug 16, 2007, at 1:53 PM, Tony Hosking wrote:
> 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