Changeset 9189

Show
Ignore:
Timestamp:
05/07/08 15:42:40 (4 days ago)
Author:
preed
Message:

Bug 7800: crossplatform build support and changes for Solaris; p=alfred,r=me

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/app/branding/Makefile.in

    r7658 r9189  
    3737ICON_EXTENSION = ico 
    3838endif 
    39 ifeq (linux,$(SB_PLATFORM)) 
     39ifeq (,$(filter-out linux solaris,$(SB_PLATFORM))) 
    4040ICON_EXTENSION = xpm 
    4141endif 
  • trunk/build/rules.mk

    r8873 r9189  
    14471447        $(EXTENSION_DIR)/$(XPI_NAME).xpi 
    14481448  ifdef INSTALL_EXTENSION 
     1449        $(MKDIR) -p $(SONGBIRD_EXTENSIONSDIR) 
    14491450        $(RM) -rf $(SONGBIRD_EXTENSIONSDIR)/$(EXTENSION_UUID) 
    14501451        $(CP) -rf $(EXTENSION_STAGE_DIR) $(SONGBIRD_EXTENSIONSDIR)/$(EXTENSION_UUID) 
  • trunk/components/dbengine/src/Makefile.in

    r8748 r9189  
    136136endif 
    137137 
     138ifeq (solaris,$(SB_PLATFORM)) 
     139  DYNAMIC_LIB_EXTRA_IMPORTS += unicharutil_external_s 
     140  DYNAMIC_LIB_EXTRA_FLAGS += -M $(srcdir)/hide-sqlite.ver 
     141endif 
     142 
    138143DYNAMIC_LIB_IMPORT_PATHS = $(MOZSDK_LIB_DIR) \ 
    139144                           $(NULL) 
  • trunk/components/devicesobsolete/download/src/Makefile.in

    r8447 r9189  
    8989endif 
    9090 
    91 ifeq (linux,$(SB_PLATFORM)) 
     91ifeq (,$(filter-out linux solaris,$(SB_PLATFORM))) 
    9292  DYNAMIC_LIB_STATIC_IMPORTS += $(MOZSDK_LIB_DIR)/libunicharutil_external_s 
    9393endif 
  • trunk/components/devicesobsolete/manager/src/Makefile.in

    r7658 r9189  
    7070endif 
    7171 
    72 ifeq (linux,$(SB_PLATFORM)) 
     72ifeq (,$(filter-out linux solaris,$(SB_PLATFORM))) 
    7373  DYNAMIC_LIB_STATIC_IMPORTS += $(MOZSDK_LIB_DIR)/libunicharutil_external_s 
    7474endif 
  • trunk/components/filescan/src/Makefile.in

    r7711 r9189  
    7373endif 
    7474 
    75 ifeq (linux,$(SB_PLATFORM)) 
    76   DYNAMIC_LIB_STATIC_IMPORTS = $(MOZSDK_LIB_DIR)/libunicharutil_external_s 
    77 endif 
    78  
    7975ifeq (windows,$(SB_PLATFORM)) 
    8076  DYNAMIC_LIB_EXTRA_IMPORTS += unicharutil_external_s 
     77else 
     78  DYNAMIC_LIB_STATIC_IMPORTS += $(MOZSDK_LIB_DIR)/libunicharutil_external_s 
    8179endif 
    8280 
  • trunk/components/integration/src/Makefile.in

    r7658 r9189  
    3737SUBDIRS = win32 
    3838else 
    39 SUBDIRS = $(SB_PLATFORM) 
     39ifeq ($(SB_PLATFORM), macosx) 
     40SUBDIRS = macosx 
     41else 
     42# XXX Mook: for now everybody else is linux (including solaris) 
     43SUBDIRS = linux 
     44endif 
    4045endif 
    4146 
  • trunk/components/library/localdatabase/src/Makefile.in

    r9110 r9189  
    119119  $(NULL) 
    120120 
    121 ifneq (linux,$(SB_PLATFORM)) 
     121ifneq (,$(filter-out linux solaris,$(SB_PLATFORM))) 
    122122  DYNAMIC_LIB_EXTRA_IMPORTS += unicharutil_external_s 
    123123else 
  • trunk/components/mediacore/metadata/handler/taglib/src/Makefile.in

    r8955 r9189  
    8989endif 
    9090 
     91ifeq (solaris,$(SB_PLATFORM)) 
     92  # Search in xulrunner directory at runtime for shared libraries. 
     93  DYNAMIC_LIB_EXTRA_FLAGS += -R'$$ORIGIN/../xulrunner' 
     94endif 
     95 
    9196CPP_EXTRA_INCLUDES += -I$(DEPS_DIR)/taglib/$(SB_CONFIGURATION)/include/taglib \ 
    9297                      $(NULL) 
  • trunk/components/mediacore/playback/gstreamer/stub/sbGStreamerStub.cpp

    r8873 r9189  
    3434#include <nsXPCOM.h> 
    3535#include <sbLibraryLoaderUtils.h> 
     36#include <mozilla-config.h> 
    3637 
    3738static char kRealComponent[] = "sbGStreamer" MOZ_DLL_SUFFIX; 
  • trunk/components/moz/variant/src/Makefile.in

    r8522 r9189  
    5656                            $(NULL) 
    5757 
     58ifeq (solaris,$(SB_PLATFORM)) 
     59DYNAMIC_LIB_EXTRA_IMPORTS += m 
     60endif 
     61 
    5862DYNAMIC_LIB_IMPORT_PATHS = $(MOZSDK_LIB_DIR) 
    5963 
  • trunk/components/property/src/Makefile.in

    r8243 r9189  
    106106                              $(NULL) 
    107107 
    108 ifneq (linux,$(SB_PLATFORM)) 
     108ifneq (,$(filter-out linux solaris,$(SB_PLATFORM))) 
    109109  DYNAMIC_LIB_EXTRA_IMPORTS += unicharutil_external_s 
    110110else 
  • trunk/configure.ac

    r8873 r9189  
    220220    esac 
    221221  ;; 
     222  *solaris*) 
     223    SB_PLATFORM="solaris" 
     224    case "$target_cpu" in 
     225      *86) 
     226        SB_ARCH="$target_cpu" 
     227      ;; 
     228      x86_64) 
     229        SB_ARCH="$target_cpu" 
     230      ;; 
     231      sparc) 
     232        SB_ARCH="$target_cpu" 
     233      ;; 
     234      *) 
     235        AC_MSG_ERROR(Unsupported architecture) 
     236      ;; 
     237    esac 
     238  ;; 
     239  *) 
     240    AC_MSG_ERROR(Unsupported platform $target) 
     241  ;; 
    222242esac 
    223243AC_SUBST(SB_PLATFORM) 
     
    275295case "$SB_PLATFORM" in 
    276296  windows) 
    277   AC_CHECK_PROG(CC, cl, cl) 
    278   AC_CHECK_PROG(CXX, cl, cl) 
     297  AC_PROG_CC(cl gcc) 
     298  AC_PROG_CXX(cl g++) 
     299  ;; 
     300  solaris) 
     301  AC_PROG_CC(cc gcc) 
     302  AC_PROG_CXX(CC g++) 
    279303  ;; 
    280304  *) 
     
    287311CFLAGS=$_SAVE_CFLAGS 
    288312CXXFLAGS=$_SAVE_CXXFLAGS 
     313GNU_CC=$GCC 
     314AC_SUBST(GNU_CC) 
    289315 
    290316AC_CHECK_PROG(PERL, perl, perl) 
     
    318344if test -z "$MKDIR"; then AC_MSG_ERROR(Mkdir not found); fi 
    319345 
    320 AC_CHECK_PROG(AWK, awk, awk) 
     346AC_CHECK_PROGS(AWK, ${AWK} gawk awk) 
    321347if test -z "$AWK"; then AC_MSG_ERROR(Awk not found); fi 
    322348 
    323 AC_CHECK_PROGS(CP, ${CP} gnucp gcp cp, ""
     349AC_CHECK_PROGS(CP, ${CP} gnucp gcp cp
    324350if test -z "$CP"; then AC_MSG_ERROR(Cp not found); fi 
    325351 
    326352AC_CHECK_PROG(GZIP, gzip, gzip) 
    327353AC_CHECK_PROG(GUNZIP, gunzip, gunzip) 
    328 AC_CHECK_PROG(TAR, tar, tar) 
     354AC_CHECK_PROGS(TAR, ${TAR} gtar tar) 
    329355 
    330356AC_CHECK_PROGS(SHA1SUM, ${SHA1SUM} gsha1sum sha1sum, "") 
     
    380406    AC_DEFINE(NO_X11) 
    381407  ;; 
    382   linux
     408  linux|solaris
    383409    BIN_SUFFIX= 
    384410    OBJ_SUFFIX=".o" 
     
    617643    UNZIPFLAGS_EXTRACT="-d" 
    618644    USING_RANLIB=1 
     645  ;; 
     646  solaris) 
     647    XULRUNNERDIR="/xulrunner" 
     648 
     649    _SAVE_LIBS=$LIBS 
     650    LIBS= 
     651    AC_SEARCH_LIBS([pthread_create], [pthread]) 
     652    AC_SUBST(PTHREAD_LIBS, $LIBS) 
     653    LIBS=$_SAVE_LIBS 
     654 
     655    GST_MAJORMINOR=0.10 
     656    GST_REQS=0.10.1 
     657    GSTPLUG_REQS=0.10.7 
     658 
     659    PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10 >= $GST_REQS gstreamer-plugins-base-0.10 >= $GSTPLUG_REQS) 
     660    PKG_CHECK_MODULES(GTK, gtk+-2.0) 
     661    AC_SUBST(GSTREAMER_CFLAGS) 
     662    GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstinterfaces-$GST_MAJORMINOR -lgstvideo-$GST_MAJORMINOR -lgstaudio-$GST_MAJORMINOR" 
     663    AC_SUBST(GSTREAMER_LIBS) 
     664    AC_SUBST(GTK_CFLAGS) 
     665    AC_SUBST(GTK_LIBS) 
     666 
     667    if test "$GNU_CC" = "yes" ; then 
     668      AC_MSG_ERROR([GCC not yet supported]) 
     669      LDFLAGS_DLL="-shared" 
     670    else 
     671      # Sun Studio compiler (cc/CC) 
     672      SUN_COMPILER_FLAGS="-c -KPIC" 
     673      if test "$enable_debug" = "yes"; then 
     674        SUN_COMPILER_FLAGS="-g $SUN_COMPILER_FLAGS" 
     675      # Disable stab section for now. Breakpad needs this. 
     676      # else 
     677      # SUN_COMPILER_FLAGS="-xs -xdebugformat=stabs $SUN_COMPILER_FLAGS" 
     678      fi 
     679 
     680      CFLAGS="$CFLAGS $SUN_COMPILER_FLAGS" 
     681      CXXFLAGS="$CXXFLAGS $SUN_COMPILER_FLAGS" 
     682      LDFLAGS_DLL="-G -z defs -library=Cstd,Crun -lc" 
     683      USING_RANLIB=1 
     684    fi 
     685 
     686    CFLAGS_INCLUDE_PREFIX="-I" 
     687    CFLAGS_INCLUDE_SUFFIX="" 
     688    LDFLAGS_LIB="-static" 
     689    LDFLAGS_OUT_PREFIX="-o " 
     690    LDFLAGS_OUT_SUFFIX="" 
     691    LDFLAGS_PATH_PREFIX="-L" 
     692    LDFLAGS_PATH_SUFFIX="" 
     693    LDFLAGS_IMPORT_PREFIX="-l" 
     694    LDFLAGS_IMPORT_SUFFIX="" 
     695    LNFLAGS="-f -s" 
     696    ARFLAGS="cr" 
     697    ARFLAGS_OUT_PREFIX="" 
     698    ARFLAGS_OUT_SUFFIX="" 
     699    ARFLAGS_PATH_PREFIX="" 
     700    ARFLAGS_PATH_SUFFIX="" 
     701    ARFLAGS_LIB="" 
     702    UNZIPFLAGS="-u -o -q -X" 
     703    UNZIPFLAGS_EXTRACT="-d" 
    619704  ;; 
    620705esac 
     
    721806for option in `echo $SB_MEDIA_CORES | sed 's/,/ /g'`; do 
    722807    if test "$option" = "default"; then 
    723         if test "$SB_PLATFORM" = "linux"; then 
    724             MEDIA_CORE_GST_SYSTEM=1 
    725         elif test "$SB_PLATFORM" = "windows"; then 
    726             MEDIA_CORE_VLC=1 
    727             MEDIA_CORE_WMP=1 
    728             MEDIA_CORE_QT=1 
    729         elif test "$SB_PLATFORM" = "macosx"; then 
    730             MEDIA_CORE_VLC=1 
    731             MEDIA_CORE_QT=1 
    732         fi 
     808         case "$SB_PLATFORM" in 
     809            windows) 
     810                MEDIA_CORE_VLC=1 
     811                MEDIA_CORE_WMP=1 
     812                MEDIA_CORE_QT=1 
     813            ;; 
     814            macosx) 
     815                MEDIA_CORE_VLC=1 
     816                MEDIA_CORE_QT=1 
     817            ;; 
     818            linux|solaris) 
     819                MEDIA_CORE_GST_SYSTEM=1 
     820            ;; 
     821            *) 
     822                AC_MSG_ERROR([No platform default media cores found; please manually specify --with-media-core=]) 
     823            ;; 
     824        esac 
    733825    elif test "$option" = "none"; then 
    734826        # Nothing needs to be set here 
  • trunk/tools/scripts/expand-jar-mn.pl

    r7658 r9189  
    6161    # shouldn't go in the jar 
    6262    @files_list = split(/\n/, 
    63        `find $source_path/* -type f ! -path "*.svn*" ! -name ".*" ! -name "Makefile.in" ! -name "jar.mn" ! -name "jar.mn.in" ! -name "*.vcproj" ! -name "_EXCLUDE" ! -name "*.user"  ! -name "Thumbs.db" ! -name "*.rej" ! -name "*.orig" ! -name "*.ncb" ! -name "*.diff" ! -name "*.patch" ! -name "*.vpj"`); 
     63       `find $source_path/* -name ".svn*" -a -prune -o -type f ! -name ".*" ! -name "Makefile.in" ! -name "jar.mn" ! -name "jar.mn.in" ! -name "*.vcproj" ! -name "_EXCLUDE" ! -name "*.user"  ! -name "Thumbs.db" ! -name "*.rej" ! -name "*.orig" ! -name "*.ncb" ! -name "*.diff" ! -name "*.patch" ! -name "*.vpj" -a -print`); 
    6464                             
    6565    # Create a jar manifest line for each file  
  • trunk/tools/scripts/make-mozilla-sdk.sh

    r9168 r9189  
    1818           *xpcomglue_s.* 
    1919           *mozjs* 
     20           *xul* 
     21           *smime3* 
     22           *ssl3* 
     23           *nss3* 
     24           *nssutil3* 
     25           *sqlite3* 
    2026" 
    2127 
     
    99105fi 
    100106 
    101 uname_os=`uname -o` 
    102 if test "$uname_os" == "Msys" -o "$uname_os" == "Cygwin"; then 
    103 is_windows="1" 
    104 fi 
     107MAKE=make 
     108case `uname -s` in 
     109  CYGWIN*|MINGW*) 
     110    is_windows="1" 
     111    ;; 
     112  SunOS) 
     113    MAKE=gmake 
     114    ;; 
     115esac 
    105116 
    106117relsrcdir="$1" 
     
    124135 
    125136# build in bsdiff to enable partial update patches (binary diffs) 
    126 notice "making bsdiff..." 
    127 cd "$objdir"/other-licenses/bsdiff && make 
     137if test -d "$objdir"/other-licenses/bsdiff; then 
     138  notice "making bsdiff..." 
     139  cd "$objdir"/other-licenses/bsdiff && $MAKE 
     140fi 
    128141 
    129142notice "copying binary files..." 
     
    163176cd "$sdkdir" && mkdir -p scripts 
    164177cd "$srcdir" && cp -Lfp $build_script_files "$sdkdir/scripts" 
    165 cd "$srcdir/tools/update-packaging" && cp -Lfp $update_script_files "$sdkdir/scripts" 
     178if test -d "$srcdir"/tools/update-packaging; then 
     179  cd "$srcdir/tools/update-packaging" && cp -Lfp $update_script_files "$sdkdir/scripts" 
     180fi 
    166181cd "$srcdir" && cp -Lfp $breakpad_script_files "$sdkdir/scripts" 
    167182 
  • trunk/tools/scripts/make-xulrunner-tarball.sh

    r3681 r9189  
    11#!/bin/sh 
     2 
     3TAR=tar 
     4which gtar 2>&1 >/dev/null && \ 
     5  TAR=gtar 
    26 
    37notice() { 
     
    2832 
    2933notice "creating tarball in dest..." 
    30 tar czvhf $tarball * 
     34$TAR czvhf $tarball * 
    3135 
    3236notice "done." 

© 2005-2008 POTI, Inc. Mozilla and Firefox are registered trademarks of the Mozilla Foundation.