| 420 | variant libstdcxx description {-stdlib=macports-libstdc++ searches for MacPorts libstdc++} { |
| 421 | |
| 422 | patchfiles-append 9001-macports-libstdcxx.diff |
| 423 | |
| 424 | post-patch { |
| 425 | reinplace "s|@@MACPORTS_GCC_INCLUDE_DIR@@|${prefix}/include/gcc/c++|g" \ |
| 426 | ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp |
| 427 | reinplace "s|@@MACPORTS_HOST_NAME@@|${build_arch}-apple-darwin${os.major}|g" \ |
| 428 | ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp |
| 429 | reinplace "s|@@MACPORTS_libstdc++@@|${prefix}/lib/libgcc/libstdc++.6.dylib|g" \ |
| 430 | ${worksrcpath}/tools/clang/lib/Driver/ToolChains.cpp |
| 431 | |
| 432 | # GCC was built for ${build_arch}-apple-darwin${os.major} |
| 433 | # if GCC was also built universal, it has an extra include directory |
| 434 | # if ${build_arch} is 32-bit, there is an extra 64-bit subdirectory |
| 435 | # if ${build_arch} is 64-bit, there is an extra 32-bit subdirectory |
| 436 | # MacPorts GCC can not compile across platforms |
| 437 | switch ${build_arch} { |
| 438 | x86_64 { |
| 439 | set gcc_subdirectory_ppc "" |
| 440 | set gcc_subdirectory_ppc64 "ppc64" |
| 441 | set gcc_subdirectory_i386 "i386" |
| 442 | set gcc_subdirectory_x86_64 "" |
| 443 | } |
| 444 | i386 { |
| 445 | set gcc_subdirectory_ppc "" |
| 446 | set gcc_subdirectory_ppc64 "ppc64" |
| 447 | set gcc_subdirectory_i386 "" |
| 448 | set gcc_subdirectory_x86_64 "x86_64" |
| 449 | } |
| 450 | ppc64 { |
| 451 | set gcc_subdirectory_ppc "ppc" |
| 452 | set gcc_subdirectory_ppc64 "" |
| 453 | set gcc_subdirectory_i386 "" |
| 454 | set gcc_subdirectory_x86_64 "x86_64" |
| 455 | } |
| 456 | ppc { |
| 457 | set gcc_subdirectory_ppc "" |
| 458 | set gcc_subdirectory_ppc64 "ppc64" |
| 459 | set gcc_subdirectory_i386 "" |
| 460 | set gcc_subdirectory_x86_64 "x86_64" |
| 461 | } |
| 462 | } |
| 463 | |
| 464 | reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_x86_64@@|${gcc_subdirectory_x86_64}|g" \ |
| 465 | ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp |
| 466 | reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_i386@@|${gcc_subdirectory_i386}|g" \ |
| 467 | ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp |
| 468 | reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_ppc64@@|${gcc_subdirectory_ppc64}|g" \ |
| 469 | ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp |
| 470 | reinplace "s|@@MACPORTS_GCC_SUBDIRECTORY_ppc@@|${gcc_subdirectory_ppc}|g" \ |
| 471 | ${worksrcpath}/tools/clang/lib/Frontend/InitHeaderSearch.cpp |
| 472 | } |
| 473 | } |
| 474 | default_variants +libstdcxx |
| 475 | |