[LLVMdev] dragonegg now requires clang

Duncan Sands baldrick at free.fr
Fri Dec 7 09:57:36 PST 2012


Hi Jack, can you please open a bug report asking that llvm-config only
provide the minimum set of flags needed to compile code that interfaces
with LLVM, rather than (as now) all kinds of unneeded flags such as -g
and warnings.

Thanks, Duncan.

On 07/12/12 18:55, Jack Howarth wrote:
> On Fri, Dec 07, 2012 at 06:20:37PM +0100, Duncan Sands wrote:
>> Hi Jack, this occurs because you compiled LLVM with clang (right?) and
>> dragonegg is compiled with the same flags used to compile LLVM (it is
>> an llvm-config bug in my opinion that llvm-config output includes these
>> kinds of optional flags).
>
> Duncan,
>     Yes. I believe both fink and MacPorts now default to the clang compiler
> on later darwin. The following change to the dragonegg 3.2 Makefile solves
> the problem here...
>
> --- dragonegg-3.2/Makefile.orig 2012-12-07 12:50:30.000000000 -0500
> +++ dragonegg-3.2/Makefile      2012-12-07 12:51:21.000000000 -0500
> @@ -42,8 +42,8 @@
>   else
>   COMMON_FLAGS+=-fvisibility=hidden
>   endif
> -CFLAGS+=$(COMMON_FLAGS) $(shell $(LLVM_CONFIG) --cflags)
> -CXXFLAGS+=$(COMMON_FLAGS) $(shell $(LLVM_CONFIG) --cxxflags)
> +CFLAGS+=$(COMMON_FLAGS) $(shell $(LLVM_CONFIG) --cflags | sed -e 's/-Wcovered-switch-default//')
> +CXXFLAGS+=$(COMMON_FLAGS) $(shell $(LLVM_CONFIG) --cxxflags | sed -e 's/-Wcovered-switch-default//')
>
>   ifeq ($(shell uname),Darwin)
>   LOADABLE_MODULE_OPTIONS=-bundle -undefined dynamic_lookup
> @@ -76,7 +76,7 @@
>
>   ALL_OBJECTS=$(PLUGIN_OBJECTS) $(TARGET_OBJECT) $(TARGET_UTIL_OBJECTS)
>
> -CPP_OPTIONS+=$(CPPFLAGS) $(shell $(LLVM_CONFIG) --cppflags) \
> +CPP_OPTIONS+=$(CPPFLAGS) $(shell $(LLVM_CONFIG) --cppflags | sed -e 's/-Wcovered-switch-default//') \
>               -fno-rtti \
>               -MD -MP \
>               -DIN_GCC -DLLVM_VERSION=\"$(LLVM_VERSION)\" \
>
> so that FSF gcc 4.7.2 can be used to build dragonegg again.
>           Jack
>
>>
>> Ciao, Duncan.
>>
>> On 07/12/12 18:11, Jack Howarth wrote:
>>> Duncan,
>>>      I am unable to complile dragonegg 3.2 with FSF gcc 4.7 due the the
>>> compiler errors...
>>>
>>> GCC=/sw/lib/gcc4.7/bin/gcc-4 LLVM_CONFIG=/sw/opt/llvm-3.2/bin/llvm-config VERBOSE=1 ENABLE_LLVM_PLUGINS=1 make CPPFLAGS="-g -DENABLE_LTO -I/sw/include"
>>> /sw/lib/gcc4.7/bin/gcc-4 --version > /dev/null
>>> /sw/opt/llvm-3.2/bin/llvm-config --version > /dev/null
>>> Compiling utils/TargetInfo.cpp
>>> /sw/lib/gcc4.7/bin/g++-4 -c -DTARGET_TRIPLE=\"x86_64-apple-darwin12.2.0\" \
>>> 	-g -DENABLE_LTO -I/sw/include -I/sw/opt/llvm-3.2/include    -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -Wcovered-switch-default -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -MD -MP -DIN_GCC -DLLVM_VERSION=\"3.2svn\" -DGCC_MAJOR=4 -DGCC_MINOR=7 -DGCC_MICRO=2 -I/sw/src/fink.build/dragonegg-gcc47-3.2-0/dragonegg-3.2/include -isystem/sw/lib/gcc4.7/lib/gcc/x86_64-apple-darwin12.2.0/4.7.2/plugin/include -Wall -Wextra -DENABLE_LLVM_PLUGINS -I/sw/opt/llvm-3.2/include  -fPIC -fvisibility-inlines-hidden -g  -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -Wcovered-switch-default -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS /sw/src/fink.build/dragonegg-gcc47-3.2-0/dragonegg-3.2/utils/TargetInfo.cpp
>>> g++-4: error: unrecognized command line option '-Wcovered-switch-default'
>>> g++-4: error: unrecognized command line option '-Wcovered-switch-default'
>>> make: *** [TargetInfo.o] Error 1
>>>
>>> Have you noticed this issue on linux? It seems to introduce an unwanted compiler dependency for building
>>> dragonegg.
>>>         Jack
>>>




More information about the llvm-dev mailing list