Ticket #6389: haiku-clang.patch
File haiku-clang.patch, 4.9 KB (added by , 15 years ago) |
---|
-
build/jam/BuildSetup
382 382 += HAIKU_INCLUDE_PATENTED_CODE=$(HAIKU_INCLUDE_PATENTED_CODE) ; 383 383 } 384 384 385 # common flags for clang compiler 386 CLANG_COMMON_FLAGS = -fheinous-gnu-extensions -Wno-unknown-pragmas 387 -Wno-gnu-designator -Wno-mismatched-tags 388 -Wno-unused-variable -Wno-unused-value -Wno-sign-compare 389 -Wno-format-security -Wno-empty-body -Wno-switch-enum 390 -Wno-#warnings -Wno-pointer-sign ; 391 CLANG_CFLAGS = $(CLANG_COMMON_FLAGS) -std=gnu89 ; 392 CLANG_C++FLAGS = $(CLANG_COMMON_FLAGS) -std=gnu++98 ; 393 385 394 # warning flags 386 395 HAIKU_WARNING_CCFLAGS = -Wall -Wno-trigraphs -Wmissing-prototypes 387 396 -Wpointer-arith -Wcast-align -Wsign-compare -Wno-multichar ; 397 if $(HAIKU_USE_CLANG) = 1 { 398 HAIKU_WARNING_CCFLAGS += $(CLANG_CFLAGS) ; 399 } 388 400 HAIKU_WARNING_C++FLAGS = -Wall -Wno-trigraphs -Wno-ctor-dtor-privacy 389 401 -Woverloaded-virtual -Wpointer-arith -Wcast-align -Wsign-compare 390 402 -Wno-multichar ; 403 if $(HAIKU_USE_CLANG) = 1 { 404 HAIKU_WARNING_C++FLAGS += $(CLANG_C++FLAGS) ; 405 } 391 406 392 407 HAIKU_KERNEL_WARNING_CCFLAGS = -Wall -Wno-trigraphs -Wmissing-prototypes 393 408 -Wno-multichar ; 409 if $(HAIKU_USE_CLANG) = 1 { 410 HAIKU_KERNEL_WARNING_CCFLAGS += $(CLANG_CFLAGS) ; 411 } 394 412 HAIKU_KERNEL_WARNING_C++FLAGS = -Wall -Wno-trigraphs -Wno-multichar ; 413 if $(HAIKU_USE_CLANG) = 1 { 414 HAIKU_KERNEL_WARNING_C++FLAGS += $(CLANG_C++FLAGS) ; 415 } 395 416 396 417 # debug flags 397 418 HAIKU_DEBUG_FLAGS ?= -ggdb ; -
configure
82 82 emulation. Warning: Make sure your file system 83 83 supports sufficient attribute sizes (4 KB per 84 84 file for all attributes won't suffice). 85 --use-clang 86 Use clang compiler instead of gcc 85 87 86 88 environment variables: 87 89 HAIKU_AR The static library archiver. Defaults to "ar". 88 90 HAIKU_CC The compiler. Defaults to "gcc". 91 HAIKU_GCC The gcc compiler. Defaults to "gcc". 89 92 HAIKU_LD The linker. Defaults to "ld". 90 93 HAIKU_OBJCOPY The objcopy to be used. Defaults to "objcopy". 91 94 HAIKU_RANLIB The static library indexer. Defaults to "ranlib". … … 153 156 fi 154 157 155 158 # PLATFORM_LINKLIBS 156 gcclib=`$HAIKU_ CC -print-libgcc-file-name`159 gcclib=`$HAIKU_GCC -print-libgcc-file-name` 157 160 gccdir=`dirname ${gcclib}` 158 161 159 HAIKU_GCC_RAW_VERSION=`$HAIKU_ CC -dumpversion`160 HAIKU_GCC_MACHINE=`$HAIKU_ CC -dumpmachine`162 HAIKU_GCC_RAW_VERSION=`$HAIKU_GCC -dumpversion` 163 HAIKU_GCC_MACHINE=`$HAIKU_GCC -dumpmachine` 161 164 162 165 HAIKU_GCC_LIB_DIR=${gccdir} 163 166 HAIKU_GCC_LIBGCC=${gccdir}/libgcc.a … … 172 175 4.*) 173 176 # for gcc 4 we use the libstdc++ and libsupc++ that come with the 174 177 # compiler 175 HAIKU_STATIC_LIBSTDCXX=`$HAIKU_ CC -print-file-name=libstdc++.a`176 HAIKU_SHARED_LIBSTDCXX=`$HAIKU_ CC -print-file-name=libstdc++.so`177 HAIKU_STATIC_LIBSUPCXX=`$HAIKU_ CC -print-file-name=libsupc++.a`178 HAIKU_SHARED_LIBSUPCXX=`$HAIKU_ CC -print-file-name=libsupc++.so`178 HAIKU_STATIC_LIBSTDCXX=`$HAIKU_GCC -print-file-name=libstdc++.a` 179 HAIKU_SHARED_LIBSTDCXX=`$HAIKU_GCC -print-file-name=libstdc++.so` 180 HAIKU_STATIC_LIBSUPCXX=`$HAIKU_GCC -print-file-name=libsupc++.a` 181 HAIKU_SHARED_LIBSUPCXX=`$HAIKU_GCC -print-file-name=libsupc++.so` 179 182 180 183 local headers 181 184 if [ -d $gccdir/../../../../$HAIKU_GCC_MACHINE/include/c++/$HAIKU_GCC_RAW_VERSION ]; then … … 309 312 HAIKU_USE_GCC_PIPE=0 310 313 HAIKU_HOST_USE_32BIT=0 311 314 HAIKU_HOST_USE_XATTR=0 315 HAIKU_USE_CLANG=0 312 316 HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR= 313 317 HAIKU_ADD_ALTERNATIVE_GCC_LIBS=0 314 318 HOST_GCC_LD=`gcc -print-prog-name=ld` … … 322 326 323 327 set_default_value HAIKU_AR ar 324 328 set_default_value HAIKU_CC gcc 329 set_default_value HAIKU_GCC gcc 325 330 set_default_value HAIKU_LD ld 326 331 set_default_value HAIKU_OBJCOPY objcopy 327 332 set_default_value HAIKU_RANLIB ranlib … … 421 426 --use-gcc-pipe) HAIKU_USE_GCC_PIPE=1; shift 1;; 422 427 --use-32bit) HAIKU_HOST_USE_32BIT=1; shift 1;; 423 428 --use-xattr) HAIKU_HOST_USE_XATTR=1; shift 1;; 429 --use-clang) HAIKU_USE_CLANG=1; HAIKU_CC=clang; shift 1;; 424 430 *) echo Invalid argument: \`$1\'; exit 1;; 425 431 esac 426 432 done … … 546 552 HAIKU_USE_GCC_PIPE ?= "${HAIKU_USE_GCC_PIPE}" ; 547 553 HAIKU_HOST_USE_32BIT ?= "${HAIKU_HOST_USE_32BIT}" ; 548 554 HAIKU_HOST_USE_XATTR ?= "${HAIKU_HOST_USE_XATTR}" ; 555 HAIKU_USE_CLANG ?= "${HAIKU_USE_CLANG}" ; 549 556 HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR ?= ${HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR} ; 550 557 HAIKU_ADD_ALTERNATIVE_GCC_LIBS ?= ${HAIKU_ADD_ALTERNATIVE_GCC_LIBS} ; 551 558 … … 565 572 566 573 HAIKU_AR ?= ${HAIKU_AR} ; 567 574 HAIKU_CC ?= ${HAIKU_CC} ; 575 HAIKU_GCC ?= ${HAIKU_GCC} ; 568 576 HAIKU_LD ?= ${HAIKU_LD} ; 569 577 HAIKU_OBJCOPY ?= ${HAIKU_OBJCOPY} ; 570 578 HAIKU_RANLIB ?= ${HAIKU_RANLIB} ;