Ticket #55382: clang-3.7_Portfile.diff

File clang-3.7_Portfile.diff, 3.5 KB (added by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), 6 years ago)
  • Portfile

    old new  
    1717set llvm_version_no_dot 37
    1818name                    llvm-${llvm_version}
    1919revision                4
    20 subport                 clang-${llvm_version} { revision 5 }
     20subport                 clang-${llvm_version} { revision 6 }
    2121set suffix              mp-${llvm_version}
    2222set sub_prefix          ${prefix}/libexec/llvm-${llvm_version}
    2323dist_subdir             llvm
     
    417417        }
    418418    }
    419419
     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
    420476    post-patch {
    421477        reinplace "s|@CLANG_FORMAT_PATH@|${prefix}/bin/clang-format-${suffix}|g" \
    422478            ${worksrcpath}/tools/clang/tools/clang-format/clang-format-bbedit.applescript \