[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#507: compilation problem under Solaris
From: |
Glenn Morris |
Subject: |
bug#507: compilation problem under Solaris |
Date: |
Mon, 30 Jun 2008 16:30:29 -0400 |
User-agent: |
Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) |
"Langella Raphael" wrote:
> I'm compiling Emacs 22.2 under Sparc/Solaris 9. I've got librairies
> under non-standard directories, so I've set LDFLAGS and CPPFLAGS with -I
> and -L options to include these directories. The path to those
> directories has the string "sparc" within. In src/Makefile, "sparc" has
> been replaced by "1 " on the lines defining ALL_CFLAGS and LIBW. I've
> corrected it manually and it compiles fine.
Please try this patch to Emacs 22's configure, followed by
re-configuring.
*** configure.ORIG 2008-06-30 13:26:14.000000000 -0700
--- configure 2008-06-30 13:27:33.000000000 -0700
***************
*** 23173,23178 ****
--- 23173,23188 ----
test "${exec_prefix}" != NONE &&
exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`
+ # Now get this: Some word that is part of the ${srcdir} directory name
+ # or the ${configuration} value might, just might, happen to be an
+ # identifier like `sun4' or `i386' or something, and be predefined by
+ # the C preprocessor to some helpful value like 1, or maybe the empty
+ # string. Needless to say consequent macro substitutions are less
+ # than conducive to the makefile finding the correct directory.
+ cpp_undefs="`echo $srcdir $configuration $canonical |
+ sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/ *$//' \
+ -e 's/ */ -U/g' -e 's/-U[0-9][^ ]*//g'`"
+
## Check if the C preprocessor will convert `..' to `. .'. If so, set
## CPP_NEED_TRADITIONAL to `yes' so that the code to generate Makefile
## from Makefile.c can correctly provide the arg `-traditional' to the
***************
*** 23751,23757 ****
#
# INIT-COMMANDS
#
! GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP"
CPP_NEED_TRADITIONAL="$CPP_NEED_TRADITIONAL" CPPFLAGS="$CPPFLAGS"
_ACEOF
--- 23761,23767 ----
#
# INIT-COMMANDS
#
! GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP"
CPP_NEED_TRADITIONAL="$CPP_NEED_TRADITIONAL" CPPFLAGS="$CPPFLAGS"
cpp_undefs="$cpp_undefs"
_ACEOF
***************
*** 24397,24412 ****
# and lib-src/Makefile from ${srcdir}/lib-src/Makefile.c
# This must be done after src/config.h is built, since we rely on that file.
- # Now get this: Some word that is part of the ${srcdir} directory name
- # or the ${configuration} value might, just might, happen to be an
- # identifier like `sun4' or `i386' or something, and be predefined by
- # the C preprocessor to some helpful value like 1, or maybe the empty
- # string. Needless to say consequent macro substitutions are less
- # than conducive to the makefile finding the correct directory.
- undefs="`echo $top_srcdir $configuration $canonical |
- sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/ *$//' \
- -e 's/ */ -U/g' -e 's/-U[0-9][^ ]*//g' \
- `"
echo creating src/epaths.h
${MAKE-make} epaths-force
--- 24407,24412 ----
***************
*** 24426,24432 ****
sed -e '1,/start of cpp stuff/d'\
-e 's,/\*\*/#\(.*\)$,/* \1 */,' \
< Makefile.c > junk.c
! $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
sed -e 's/^ / /' -e '/^#/d' -e '/^[ ]*$/d' > junk2.c
cat junk1.c junk2.c > Makefile.new
rm -f junk.c junk1.c junk2.c
--- 24426,24432 ----
sed -e '1,/start of cpp stuff/d'\
-e 's,/\*\*/#\(.*\)$,/* \1 */,' \
< Makefile.c > junk.c
! $CPP $cpp_undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
sed -e 's/^ / /' -e '/^#/d' -e '/^[ ]*$/d' > junk2.c
cat junk1.c junk2.c > Makefile.new
rm -f junk.c junk1.c junk2.c
***************
*** 24442,24448 ****
sed -e '1,/start of cpp stuff/d'\
-e 's,/\*\*/#\(.*\)$,/* \1 */,' \
< Makefile.c > junk.c
! $CPP $undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
sed -e 's/^ / /' -e '/^#/d' -e '/^[ ]*$/d' > junk2.c
cat junk1.c junk2.c > Makefile.new
rm -f junk.c junk1.c junk2.c
--- 24442,24448 ----
sed -e '1,/start of cpp stuff/d'\
-e 's,/\*\*/#\(.*\)$,/* \1 */,' \
< Makefile.c > junk.c
! $CPP $cpp_undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
sed -e 's/^ / /' -e '/^#/d' -e '/^[ ]*$/d' > junk2.c
cat junk1.c junk2.c > Makefile.new
rm -f junk.c junk1.c junk2.c