mirror of
https://github.com/danog/gllvm.git
synced 2024-11-30 06:08:58 +01:00
stylistic changes, plus still need to track down the SIGSEGV in the llvm-link.
This commit is contained in:
parent
7f88d84b23
commit
4ff5865d27
@ -15,6 +15,9 @@ GLLVM_CONFIGURE_ONLY=1 CC=gclang ./configure --target=LLVM --build=LLVM
|
|||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
|
exit $?
|
||||||
|
|
||||||
|
|
||||||
get-bc -b ./lib/libc.a
|
get-bc -b ./lib/libc.a
|
||||||
|
|
||||||
if [ -s "./lib/libc.a.bc" ]
|
if [ -s "./lib/libc.a.bc" ]
|
||||||
|
@ -1,13 +1,6 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// Parse command line
|
|
||||||
var args = os.Args
|
|
||||||
args = args[1:]
|
|
||||||
|
|
||||||
sanityCheck()
|
sanityCheck()
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
const explain_LLVM_CC_NAME = `
|
const explainLLVMCCNAME = `
|
||||||
|
|
||||||
If your clang compiler is not called clang, but something else, then
|
If your clang compiler is not called clang, but something else, then
|
||||||
you will need to set the environment variable LLVM_CC_NAME to the
|
you will need to set the environment variable LLVM_CC_NAME to the
|
||||||
@ -18,7 +18,7 @@ LLVM_CC_NAME should be set to clang-3.5.
|
|||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
const explain_LLVM_CXX_NAME = `
|
const explainLLVMCXXNAME = `
|
||||||
|
|
||||||
If your clang++ compiler is not called clang++, but something else,
|
If your clang++ compiler is not called clang++, but something else,
|
||||||
then you will need to set the environment variable LLVM_CXX_NAME to
|
then you will need to set the environment variable LLVM_CXX_NAME to
|
||||||
@ -27,7 +27,7 @@ then LLVM_CC_NAME should be set to ++clang.
|
|||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
const explain_LLVM_COMPILER_PATH = `
|
const explainLLVMCOMPILERPATH = `
|
||||||
|
|
||||||
Your compiler should either be in your PATH, or else located where the
|
Your compiler should either be in your PATH, or else located where the
|
||||||
environment variable LLVM_COMPILER_PATH indicates. It can also be used
|
environment variable LLVM_COMPILER_PATH indicates. It can also be used
|
||||||
@ -36,7 +36,7 @@ llvm-link, and llvm-ar.
|
|||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
const explain_LLVM_LINK_NAME = `
|
const explainLLVMLINKNAME = `
|
||||||
|
|
||||||
If your llvm linker is not called llvm-link, but something else, then
|
If your llvm linker is not called llvm-link, but something else, then
|
||||||
you will need to set the environment variable LLVM_LINK_NAME to the
|
you will need to set the environment variable LLVM_LINK_NAME to the
|
||||||
@ -45,7 +45,7 @@ LLVM_LINK_NAME should be set to llvm-link-3.5.
|
|||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
const explain_LLVM_AR_NAME = `
|
const explainLLVMARNAME = `
|
||||||
|
|
||||||
If your llvm archiver is not called llvm-ar, but something else,
|
If your llvm archiver is not called llvm-ar, but something else,
|
||||||
then you will need to set the environment variable LLVM_AR_NAME to
|
then you will need to set the environment variable LLVM_AR_NAME to
|
||||||
@ -54,8 +54,6 @@ then LLVM_AR_NAME should be set to llvm-ar-3.5.
|
|||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Performs the environmental sanity check.
|
// Performs the environmental sanity check.
|
||||||
//
|
//
|
||||||
// Performs the following checks in order:
|
// Performs the following checks in order:
|
||||||
@ -69,25 +67,22 @@ func sanityCheck() {
|
|||||||
|
|
||||||
checkOS()
|
checkOS()
|
||||||
|
|
||||||
if ! checkCompilers() {
|
if !checkCompilers() {
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ! checkAuxiliaries() {
|
if !checkAuxiliaries() {
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
checkStore()
|
checkStore()
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkOS() {
|
||||||
func checkOS(){
|
|
||||||
|
|
||||||
platform := runtime.GOOS
|
platform := runtime.GOOS
|
||||||
|
|
||||||
|
|
||||||
if platform == "darwin" || platform == "linux" || platform == "freebsd" {
|
if platform == "darwin" || platform == "linux" || platform == "freebsd" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -113,7 +108,6 @@ func checkCompilers() bool {
|
|||||||
shared.LogWrite("The CXX compiler %s is:\n\n\t%s\n\n", cxx, extractLine(cxxVersion, 0))
|
shared.LogWrite("The CXX compiler %s is:\n\n\t%s\n\n", cxx, extractLine(cxxVersion, 0))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return ccOK || cxxOK
|
return ccOK || cxxOK
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,10 +118,10 @@ func extractLine(version string, n int) string {
|
|||||||
lines := strings.Split(version, "\n")
|
lines := strings.Split(version, "\n")
|
||||||
var line string
|
var line string
|
||||||
lenLines := len(lines)
|
lenLines := len(lines)
|
||||||
if n < lenLines {
|
if n < lenLines {
|
||||||
line = lines[n]
|
line = lines[n]
|
||||||
} else {
|
} else {
|
||||||
line = lines[lenLines - 1]
|
line = lines[lenLines-1]
|
||||||
}
|
}
|
||||||
|
|
||||||
return strings.TrimSpace(line)
|
return strings.TrimSpace(line)
|
||||||
@ -147,7 +141,6 @@ func checkExecutable(cmdExecName string, varg string) (success bool, err error,
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func checkAuxiliaries() bool {
|
func checkAuxiliaries() bool {
|
||||||
linkerName := shared.LLVMLINKName
|
linkerName := shared.LLVMLINKName
|
||||||
archiverName := shared.LLVMARName
|
archiverName := shared.LLVMARName
|
||||||
@ -162,20 +155,18 @@ func checkAuxiliaries() bool {
|
|||||||
|
|
||||||
linkerOK, _, linkerVersion := checkExecutable(linkerName, "-version")
|
linkerOK, _, linkerVersion := checkExecutable(linkerName, "-version")
|
||||||
|
|
||||||
|
if !linkerOK {
|
||||||
if ! linkerOK {
|
|
||||||
shared.LogError("The bitcode linker %s was not found or not executable.\nBetter not try using get-bc!\n", linkerName)
|
shared.LogError("The bitcode linker %s was not found or not executable.\nBetter not try using get-bc!\n", linkerName)
|
||||||
shared.LogError(explain_LLVM_LINK_NAME)
|
shared.LogError(explainLLVMLINKNAME)
|
||||||
} else {
|
} else {
|
||||||
shared.LogWrite("The bitcode linker %s is:\n\n\t%s\n\n", linkerName, extractLine(linkerVersion, 1))
|
shared.LogWrite("The bitcode linker %s is:\n\n\t%s\n\n", linkerName, extractLine(linkerVersion, 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
archiverOK, _, archiverVersion := checkExecutable(archiverName, "-version")
|
archiverOK, _, archiverVersion := checkExecutable(archiverName, "-version")
|
||||||
|
|
||||||
|
if !archiverOK {
|
||||||
if ! archiverOK {
|
|
||||||
shared.LogError("The bitcode archiver %s was not found or not executable.\nBetter not try using get-bc!\n", archiverName)
|
shared.LogError("The bitcode archiver %s was not found or not executable.\nBetter not try using get-bc!\n", archiverName)
|
||||||
shared.LogError(explain_LLVM_AR_NAME)
|
shared.LogError(explainLLVMARNAME)
|
||||||
} else {
|
} else {
|
||||||
shared.LogWrite("The bitcode archiver %s is:\n\n\t%s\n\n", archiverName, extractLine(archiverVersion, 1))
|
shared.LogWrite("The bitcode archiver %s is:\n\n\t%s\n\n", archiverName, extractLine(archiverVersion, 1))
|
||||||
}
|
}
|
||||||
@ -192,7 +183,7 @@ func checkStore() {
|
|||||||
shared.LogError("The bitcode archive %s does not exist!\n\n", storeDir)
|
shared.LogError("The bitcode archive %s does not exist!\n\n", storeDir)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if ! finfo.Mode().IsDir() {
|
if !finfo.Mode().IsDir() {
|
||||||
shared.LogError("The bitcode archive %s is not a directory!\n\n", storeDir)
|
shared.LogError("The bitcode archive %s is not a directory!\n\n", storeDir)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -67,4 +67,5 @@ func LogFatal(format string, a ...interface{}) {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//LogWrite writes to the logging stream, irregardless of levels.
|
||||||
var LogWrite = makeLogger(-1)
|
var LogWrite = makeLogger(-1)
|
||||||
|
Loading…
Reference in New Issue
Block a user