
This implementation is still very limited but provides a base to build upon. Limitations: * CGO_CFLAGS etc is not taken into account. * These CFLAGS are not used in C files compiled with the package. * Other flags (CPPFLAGS, LDFAGS, ...) are not yet implemented.
26 строки
303 Б
Go
26 строки
303 Б
Go
package main
|
|
|
|
/*
|
|
// this name doesn't exist
|
|
#cgo NOFLAGS: -foo
|
|
|
|
// unknown flag
|
|
#cgo CFLAGS: -fdoes-not-exist -DNOTDEFINED
|
|
|
|
#cgo CFLAGS: -DFOO
|
|
|
|
#if defined(FOO)
|
|
#define BAR 3
|
|
#else
|
|
#define BAR 5
|
|
#endif
|
|
|
|
#if defined(NOTDEFINED)
|
|
#warning flag must not be defined
|
|
#endif
|
|
*/
|
|
import "C"
|
|
|
|
var (
|
|
_ = C.BAR
|
|
)
|