[BACK]Return to Makefile.cross CVS log [TXT][DIR] Up to [local] / src

Diff for /src/Makefile.cross between version 1.32 and 1.59

version 1.32, 2010/07/09 17:36:08 version 1.59, 2013/01/05 11:20:52
Line 10 
Line 10 
          ${TARGET} == "gumstix" || ${TARGET} == "palm" || \           ${TARGET} == "gumstix" || ${TARGET} == "palm" || \
          ${TARGET} == "zaurus")           ${TARGET} == "zaurus")
 TARGET_ARCH=    arm  TARGET_ARCH=    arm
 .elif   (${TARGET} == "hp300" || ${TARGET} == "mac68k" || \  .elif   (${TARGET} == "hp300" || ${TARGET} == "mvme68k")
          ${TARGET} == "mvme68k")  
 TARGET_ARCH=    m68k  TARGET_ARCH=    m68k
 .elif   (${TARGET} == "aviion" || ${TARGET} == "luna88k" || \  .elif   (${TARGET} == "aviion" || ${TARGET} == "luna88k" || \
          ${TARGET} == "mvme88k")           ${TARGET} == "mvme88k")
 TARGET_ARCH=    m88k  TARGET_ARCH=    m88k
 .elif   (${TARGET} == "sgi")  .elif   (${TARGET} == "sgi" || ${TARGET} == "octeon")
 TARGET_ARCH=    mips64  TARGET_ARCH=    mips64
 .elif   (${TARGET} == "loongson")  .elif   (${TARGET} == "loongson")
 TARGET_ARCH=    mips64el  TARGET_ARCH=    mips64el
 TARGET_CPU=     mips64  TARGET_CPU=     mips64
 .elif   (${TARGET} == "solbourne")  .elif   (${TARGET} == "solbourne")
 TARGET_ARCH=    sparc  TARGET_ARCH=    sparc
 .elif   (${TARGET} == "macppc" || ${TARGET} == "mvmeppc" || \  .elif   (${TARGET} == "macppc" || ${TARGET} == "socppc")
          ${TARGET} == "socppc")  
 TARGET_ARCH=    powerpc  TARGET_ARCH=    powerpc
 .elif   (${TARGET} == "landisk")  .elif   (${TARGET} == "landisk")
 TARGET_ARCH=    sh  TARGET_ARCH=    sh
Line 33 
Line 31 
 .endif  .endif
 TARGET_CPU?=    ${TARGET_ARCH}  TARGET_CPU?=    ${TARGET_ARCH}
   
   # List of LP64 archs
   # XXX move to bsd.*.mk?
   LP64_ARCH = amd64 alpha hppa64 ia64 mips64 sparc64 vax64
   
   TARGET_IS_LP64 =
   MACHINE_IS_LP64 =
   .for _ in ${LP64_ARCH}
   . if !empty(TARGET_ARCH:M$_)
       TARGET_IS_LP64 = yes
   . endif
   . if !empty(MACHINE_ARCH:M$_)
       MACHINE_IS_LP64 = yes
   . endif
   .endfor
   
 #CROSSCPPFLAGS?=        -nostdinc -I${CROSSDIR}/usr/include  #CROSSCPPFLAGS?=        -nostdinc -I${CROSSDIR}/usr/include
 #CROSSLDFLAGS?= -nostdlib -L${CROSSDIR}/usr/lib -static  #CROSSLDFLAGS?= -nostdlib -L${CROSSDIR}/usr/lib -static
 CROSSCFLAGS?=   ${CROSSCPPFLAGS} -O2 ${PIPE} ${DEBUG}  CROSSCFLAGS?=   ${CROSSCPPFLAGS} -O2 ${PIPE} ${DEBUG}
Line 42 
Line 55 
 # XXX  # XXX
 BINMODE?=555  BINMODE?=555
 BINOWN?=root  BINOWN?=root
 BINOWN?=bin  BINGRP?=bin
   
 CROSSDIR=       ${DESTDIR}/usr/cross/${TARGET}  CROSSDIR=       ${DESTDIR}/usr/cross/${TARGET}
 CROSSENV=       AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \  CROSSENV=       AR=${CROSSDIR}/usr/${TARGET_CANON}/bin/ar \
Line 71 
Line 84 
 CROSSINCLUDES=  ${CROSSDIR}/.includes_done  CROSSINCLUDES=  ${CROSSDIR}/.includes_done
 CROSSBINUTILS=  ${CROSSDIR}/.binutils_done  CROSSBINUTILS=  ${CROSSDIR}/.binutils_done
 CROSSGCC=       ${CROSSDIR}/.gcc_done  CROSSGCC=       ${CROSSDIR}/.gcc_done
 #NO_CROSS=      isakmpd tn3270 keynote sectok ssh  #NO_CROSS=      isakmpd keynote ssh
   
 # bsd.own.mk can't do it for us  .include <bsd.own.mk>
 .if ${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \  
     ${TARGET_ARCH} == "sparc" || ${TARGET_ARCH} == "vax"  OLD_BINUTILS_ARCH=m68k vax
 TARGET_USE_GCC3=No  
   .for _arch in ${TARGET_ARCH}
   .if !empty(GCC2_ARCH:M${_arch})
 COMPILER_VERSION=gcc2  COMPILER_VERSION=gcc2
 .elif ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "sparc64"  .elif !empty(GCC4_ARCH:M${_arch})
 TARGET_USE_GCC4=Yes  
 COMPILER_VERSION=gcc4  COMPILER_VERSION=gcc4
 .else  .else
 TARGET_USE_GCC3=Yes  
 COMPILER_VERSION=gcc3  COMPILER_VERSION=gcc3
 .endif  .endif
   
   .if !empty(BINUTILS217_ARCH:M${_arch})
   BINUTILS_VERSION=binutils-2.17
   .else
   BINUTILS_VERSION=binutils
   .endif
   
   .if !empty(OLD_BINUTILS_ARCH:M${_arch})
   NEW_BINUTILS?=  No
   BINUTILS=       ar as ld nm ranlib objcopy objdump strings strip
   .else
   NEW_BINUTILS?=  Yes
   BINUTILS=       ar as gasp ld nm objcopy objdump ranlib readelf size \
                   strings strip
   .endif
   BINUTILS_DIR=gnu/usr.bin/${BINUTILS_VERSION}
   .endfor
   
 # no libcrypto.... these won't build  # no libcrypto.... these won't build
 #NO_CROSS+=     dc login_krb5 login_krb5-or-pwd passwd ppp tcpdump telnet \  #NO_CROSS+=     dc login_krb5 login_krb5-or-pwd passwd ppp tcpdump telnet \
 #               ftp gzsig sasyncd vnconfig  #               ftp gzsig sasyncd vnconfig
   
 # need host setup for ydr  
 NO_CROSS+=afs  
 # explicit cross-compile  # explicit cross-compile
 NO_CROSS+=bind  NO_CROSS+=bind
 NO_CROSS+=httpd  NO_CROSS+=httpd
 NO_CROSS+=microcode  NO_CROSS+=microcode
 NO_CROSS+=groff lynx binutils perl texinfo gcc cvs  NO_CROSS+=groff lynx binutils binutils-2.17 perl texinfo gcc cvs
   NO_CROSS+=nsd
   NO_CROSS+=nginx
   NO_CROSS+=sqlite3
   
 cross-dirs:     ${CROSSDIRS}  cross-dirs:     ${CROSSDIRS}
 cross-obj:      ${CROSSOBJ}  cross-obj:      ${CROSSOBJ}
Line 112 
Line 143 
             BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET}              BSDSRCDIR=${.CURDIR} MAKEOBJDIR=obj.${MACHINE}.${TARGET}
   
 ${CROSSDIRS}:  ${CROSSDIRS}:
   .if ${TARGET_ARCH} == "arm" &&  ${MACHINE_IS_LP64} == "yes"
           # this config is allowed
   .elif ${TARGET_IS_LP64} != ${MACHINE_IS_LP64}
           @echo "host and target have different size longs"
           @echo "cross compiler generates bad code; aborting"; exit 1
   .endif
         @-mkdir -p ${CROSSDIR}          @-mkdir -p ${CROSSDIR}
         @echo ${TARGET_ARCH} > ${CROSSDIR}/TARGET_ARCH          @echo ${TARGET_ARCH} > ${CROSSDIR}/TARGET_ARCH
         @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH`          @echo TARGET_ARCH is `cat ${CROSSDIR}/TARGET_ARCH`
Line 158 
Line 195 
             ${MAKE} DESTDIR=${CROSSDIR} includes)              ${MAKE} DESTDIR=${CROSSDIR} includes)
         @touch ${CROSSINCLUDES}          @touch ${CROSSINCLUDES}
   
 .if (${TARGET_ARCH} == "m68k" || ${TARGET_ARCH} == "m88k" || \  
      ${TARGET_ARCH} == "vax")  
 BINUTILS=       ar as ld nm ranlib objcopy objdump strings strip  
 NEW_BINUTILS?=  No  
 .else  
 BINUTILS=       ar as gasp ld nm objcopy objdump ranlib readelf size \  
                 strings strip  
 NEW_BINUTILS?=  Yes  
 .endif  
   
 ${CROSSBINUTILS}:       ${CROSSINCLUDES}  ${CROSSBINUTILS}:       ${CROSSINCLUDES}
         (cd ${.CURDIR}/gnu/usr.bin/binutils; \          (cd ${.CURDIR}/${BINUTILS_DIR}; \
             MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
             USING_NEW_BINUTILS=${NEW_BINUTILS} \              USING_NEW_BINUTILS=${NEW_BINUTILS} \
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
Line 270 
Line 297 
             TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \              TARGET_ARCH=${TARGET_ARCH} TARGET_CPU=${TARGET_CPU} \
             MACHINE=${TARGET} \              MACHINE=${TARGET} \
             PATH=${CROSSPATH} ${MAKE} install)              PATH=${CROSSPATH} ${MAKE} install)
           cp -f ${CROSSDIR}/usr/bin/g++  ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++
         cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++          cp -f ${CROSSDIR}/usr/bin/${TARGET_CANON}-g++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-c++
         cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp          cp -f ${CROSSDIR}/usr/libexec/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp
         rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp          cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
         ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc          ln -sf ${TARGET_CANON}-cc ${CROSSDIR}/usr/${TARGET_CANON}/bin/cc
         ln -sf ${TARGET_CANON}-c++ ${CROSSDIR}/usr/${TARGET_CANON}/bin/c++  
           cp -f ${CROSSDIR}/usr/bin/gcc ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cc
           rm -f ${CROSSDIR}/usr/bin/gcc  ${CROSSDIR}/usr/bin/g++  ${CROSSDIR}/usr/bin/cc ${CROSSDIR}/usr/libexec/cpp
           # fix links
         rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp          rm -f ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-cpp
         sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \          sed -e 's#/usr/libexec/cpp#${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp#' \
             -e 's/@GNUC@//' \              -e 's/@GNUC@//' \
Line 319 
Line 350 
             --enable-languages="c,c++" --enable-cpp --disable-nls \              --enable-languages="c,c++" --enable-cpp --disable-nls \
             --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \              --with-gxx-include-dir=${CROSSDIR}/usr/include/g++ && \
             PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \              PATH=${CROSSPATH} ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" \
             CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \              CFLAGS="${CFLAGS} -DOPENBSD_CROSS -I${.CURDIR}/gnu/lib/libiberty/include" \
             LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \              LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \
             DEMANGLER_PROG= DEMANGLE_H= LDFLAGS="${LDSTATIC}" build_infodir=. \              DEMANGLER_PROG= DEMANGLE_H= LDFLAGS="${LDSTATIC}" build_infodir=. \
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \              GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" && \
             ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \              ${MAKE} BISON=yacc LANGUAGES="${CROSSLANGS}" LDFLAGS="${LDSTATIC}" \
             GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \              GCC_FOR_TARGET="./xgcc -B./ -I${CROSSDIR}/usr/include" \
             CFLAGS="${CFLAGS} -I${.CURDIR}/gnu/lib/libiberty/include" \              CFLAGS="${CFLAGS} -DOPENBSD_CROSS -I${.CURDIR}/gnu/lib/libiberty/include" \
             LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \              LIBIBERTY_INCLUDES=${.CURDIR}/gnu/lib/libiberty/include \
             build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)              build_infodir=. INSTALL_MAN= INSTALL_HEADERS_DIR= install)
         mv -f ${CROSSDIR}/usr/bin/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp          mv -f ${CROSSDIR}/usr/bin/cpp ${CROSSDIR}/usr/${TARGET_CANON}/bin/${TARGET_CANON}-libexeccpp
Line 356 
Line 387 
             for lib in csu libc; do \              for lib in csu libc; do \
             (cd $$lib; \              (cd $$lib; \
                 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \                  eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                     ${MAKE} WANTLINT=no depend all ;\                      ${MAKE} depend all ;\
                 eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \                  eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
                     ${MAKE} WANTLINT=no install); \                      ${MAKE} install); \
             done; \              done; \
             eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \              eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} \
                 SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \                  SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \
                 ${MAKE} WANTLINT=no depend all ; \                  ${MAKE} depend all ; \
             eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \              eval ${CROSSENV} MAKEOBJDIR=obj.${MACHINE}.${TARGET} DESTDIR=${CROSSDIR} \
                 SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \                  SKIPDIR=\"${NO_CROSS} libocurses/PSD.doc\" \
                 ${MAKE} WANTLINT=no install)                  ${MAKE} install)
   
 cross-bin:      ${CROSSOBJ}  cross-bin:      ${CROSSOBJ}
         MACHINE=${TARGET} \          MACHINE=${TARGET} \

Legend:
Removed from v.1.32  
changed lines
  Added in v.1.59