Changeset 22
- Timestamp:
- 04/23/08 07:31:39 (2 months ago)
- Files:
-
- main/src/cl/hdr/hdr/csnormal.h (modified) (4 diffs)
- main/src/tools/port/jam/Jamrules (modified) (2 diffs)
- main/src/tools/port/jam/bldenv (modified) (11 diffs)
- main/src/tools/port/shell_unix/shlibinfo.sh (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
main/src/cl/hdr/hdr/csnormal.h
r1 r22 26 26 # include <sched.h> 27 27 # endif /* sgi_us5 Linux */ 28 # if defined(a64_lnx)29 # define CONFIG_SMP30 # include <asm/bitops.h>31 # endif /* a64_lnx */32 28 # endif /* POSIX_THREADS */ 33 29 # endif /* OS_THREADS_USED */ … … 1841 1837 ** Replace mg5_osx with OSX and add support for Intel OSX. 1842 1838 ** Remove all OSX assembler and implement OSSpinlock calls instead 1839 ** 20-Apr-2008 (hanje04) 1840 ** Add in-line assembler functions for test_and_set()/clear() 1841 ** functions. These replace those defined in the now missing 1842 ** bitops.h 1843 1843 */ 1844 1844 … … 2735 2735 # if defined(a64_lnx) 2736 2736 # define cs_aset_op 2737 # define CS_tas(a) test_and_set_bit(( long) 0, a)2737 # define CS_tas(a) test_and_set_bit((int) 0, a) 2738 2738 # define CS_ISSET(a) (*(a) != (CS_ASET)0) 2739 2739 # define CS_ACLR(a) CS_aclr(a) 2740 2740 # define CS_TAS(a) (!CS_tas(a)) 2741 2741 # define CS_SPININIT(s) (MEfill(sizeof(*s),'\0',(char *)s)) 2742 2743 /* 2744 * In-line assembler functions for atomic sychronization operations, 2745 * based on those previously found in asm-x86_64/bitops.h. File 2746 * has been removed from later Linux distributions but functions 2747 * are still needed. 2748 * Better soln would probably be to use GCC compiler macros but this 2749 * requires further investigation. 2750 */ 2751 # define ADDR (*(CS_ASET *) addr) 2752 static __inline__ void clear_bit(int nr, CS_ASET * addr) 2753 { 2754 __asm__ __volatile__( "lock;" 2755 "btrl %1,%0" 2756 :"=m" (ADDR) 2757 :"dIr" (nr)); 2758 } 2759 static __inline__ int test_and_set_bit(int nr, CS_ASET * addr) 2760 { 2761 int oldbit; 2762 2763 __asm__ __volatile__( "lock ;" 2764 "btsl %2,%1\n\tsbbl %0,%0" 2765 :"=r" (oldbit),"=m" (ADDR) 2766 :"dIr" (nr) : "memory"); 2767 return oldbit; 2768 } 2769 2742 2770 # define CS_getspin(s) \ 2743 2771 { \ … … 2753 2781 { 2754 2782 __asm__ __volatile__("": : :"memory"); 2755 clear_bit( (long)0, ptr);2783 clear_bit(0, ptr); 2756 2784 __asm__ __volatile__("": : :"memory"); 2757 2785 } main/src/tools/port/jam/Jamrules
r1 r22 1066 1066 # Add missing readvers.bat dependency information to allow 1067 1067 # .pp files to be built from the local directory. 1068 # 23-Arp-2008 (hanje04) 1069 # Add ability to reference a second location for the Xerces 1070 # library on hybrid builds using XERCESLOCHB 1068 1071 # 1069 1072 ##### … … 6284 6287 if $(VERSHB) 6285 6288 { 6286 FILE $(INGLIB)/$(SUFHB)/$(XERCESCLIB) : $(SUFHB)/$(XERCESCLIB) ; 6289 if $(XERCESLOCHB) 6290 { 6291 XERCESCHBLIB = $(XERCESCLIB:G=hb) ; 6292 XERCESHBLOC = $(XERCESLOCHB) ; 6293 } 6294 else 6295 { 6296 XERCESCHBLIB = $(SUFHB)/$(XERCESCLIB) ; 6297 XERCESHBLOC = $(XERCESLOC) ; 6298 } 6299 FILE $(INGLIB)/$(SUFHB)/$(XERCESCLIB) : $(XERCESCHBLIB) ; 6287 6300 _LINK $(SUFHB)/$(<) : $(INGLIB)/$(SUFHB)/$(XERCESCLIB) ; 6288 6301 _LINK $(SUFHB)/$(<:S=.$(SLSFX).$(XERCVERS)) : $(INGLIB)/$(SUFHB)/$(XERCESCLIB) ; 6289 6302 6290 DEPENDS $(SUFHB)/$(<:S=.$(SLSFX).$(XERCVERS)) : $( SUFHB)/$(XERCESCLIB) ;6303 DEPENDS $(SUFHB)/$(<:S=.$(SLSFX).$(XERCVERS)) : $(XERCESCHBLIB) ; 6291 6304 DEPENDS $(SUFHB)/$(<) : $(SUFHB)/$(<:S=.$(SLSFX).$(XERCVERS)) ; 6292 6305 DEPENDS shlibs : $(SUFHB)/$(<) ; 6293 6306 LOCATE on $(SUFHB)/$(<) = $(INGLIB) ; 6294 6307 LOCATE on $(SUFHB)/$(<:S=.$(SLSFX).$(XERCVERS)) = $(INGLIB) ; 6295 SEARCH on $( SUFHB)/$(XERCESCLIB) = $(XERCESLOC) ;6308 SEARCH on $(XERCESCHBLIB) = $(XERCESHBLOC) ; 6296 6309 6297 6310 MODE on $(INGLIB)/$(SUFHB)/$(XERCESCLIB) = $(EXEMODE) ; main/src/tools/port/jam/bldenv
r9 r22 123 123 ## kerberos in system locations and if they're not found suggest 124 124 ## how they good be if package management is available. 125 125 ## 21-Apr-2008 (hanje04) 126 ## Add auto detect suport for yum (Fedora) 126 127 ## 127 128 … … 135 136 deb=false 136 137 conary=false 138 yum=false 139 rhybrid=false 137 140 unames=`uname -s` 138 141 unamer=`uname -r` … … 206 209 xcc_need=i686-unknown-linux-gnu 207 210 xcc_name=${xcc_need}-gcc 211 rhybrid=true 208 212 ;; 209 213 x86_64) 210 214 config_string=a64_lnx 215 rhybrid=true 211 216 ;; 212 217 ppc64) … … 234 239 gtk_need=false 235 240 deb=true 241 elif [ -x /usr/bin/yum ] ; then 242 export OSVER=FEDORA 243 yum=true 236 244 fi 237 245 238 246 # Default to rpm if it's there 239 if ! $conary && ! $deb && [ -x /bin/rpm -o -x /usr/bin/rpm ] ; then 247 if ! $conary && ! $deb && ! $yum && \ 248 [ -x /bin/rpm -o -x /usr/bin/rpm ] ; then 240 249 rpm=true 241 250 fi … … 345 354 elif $deb ; then 346 355 instcmd="apt-get install libkrb5-dev" 356 elif $yum ; then 357 instcmd="yum install krb5-devel" 347 358 else 348 359 instcmd='' … … 385 396 XERCESCROOT=/usr 386 397 fi 387 if [ -f /usr/lib/libxerces-c.so.27.0 ] ; then 388 XERCLOC=/usr/lib 398 if $rhybrid ; then 399 if [ -f /usr/lib64/libxerces-c.so.27.0 ] ; then 400 XERCESLOCHB=/usr/lib 401 XERCESLOC=/usr/lib64 402 fi 403 else 404 if [ -f /usr/lib/libxerces-c.so.27.0 ] ; then 405 XERCESLOC=/usr/lib 406 fi 407 if [ -f /usr/lib64/libxerces-c.so.27.0 ] ; then 408 XERCESLOCHB=/usr/lib64 409 fi 389 410 fi 390 411 [ "$XERCESCROOT" ] && [ -d ${XERCESCROOT}/src/xercesc -o \ … … 394 415 export XERCESCROOT=${ING_ROOT}/xerces-c-src_2_7_0 395 416 else 396 unset XERCESCROOT XERC LOC417 unset XERCESCROOT XERCESLOC XERCESLOC64 397 418 cat << EOF 398 419 … … 404 425 elif $deb ; then 405 426 instcmd="apt-get install libxerces27 libxerces27-dev" 427 elif $yum ; then 428 instcmd="yum install xerces-c xerces-c-devel" 406 429 else 407 430 instcmd="" … … 438 461 } 439 462 440 [ -d ${XERCESCROOT}/lib ] && \463 [ -d ${XERCESCROOT}/lib ] && [ x"$XERCESLOC" = "x" ] && \ 441 464 XERCESLOC=${XERCESCROOT}/lib 442 465 while [ -z "$XERCESLOC" ] ; do … … 455 478 break 456 479 done 457 export XERCESCROOT XERCESLOC 480 export XERCESCROOT XERCESLOC XERCESLOCHB 458 481 459 482 # pax for Linux … … 476 499 elif $deb ; then 477 500 instcmd="apt-get install pax" 501 elif $yum ; then 502 instcmd="yum install pax" 478 503 else 479 504 instcmd="" main/src/tools/port/shell_unix/shlibinfo.sh
r1 r22 330 330 # SIR 119978 331 331 # Fix up shlink_opts for older OS X releases 332 # 21-Apr-2008 (hanje04) 333 # Remove libgcc_s fromm 32bit link line for x86_64 Linux. 334 # It's not needed and causes problems because of a linker bug 332 335 # 333 336 … … 625 628 shlinkHB_cmd="ld -melf_i386 -shared " 626 629 shlink_opts=" -lm -lc -lpthread -ldl -lcrypt " 627 shlinkHB_opts=" -lm -lc -lpthread -ldl -lcrypt -lgcc_s"630 shlinkHB_opts=" -lm -lc -lpthread -ldl -lcrypt" 628 631 krblink_cmd="ld -shared" 629 632 krblinkHB_cmd="ld -melf_i386 -shared"
