Skip to main content

explicit settings of gcc, g++ for arm linux compilers

5 replies [Last post]
asif_kalim
Offline
Joined: 2007-11-30
Points: 0

Hi,
i need to know that how can i build phoneME pcsl, cldc and midp by providing instructions to use a particular compiler, i tried it with the option CC=arm-linux-uclibc-gcc C++=arm-linux-uclibc-g++ .... in make file but it is not working, is there any other way..

thanks,
asif

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
danila
Offline
Joined: 2006-09-25
Points: 0

Hi asif,

it's better to create a directory with symlinks with common names, e.g.:
gcc -> arm-linux-uclibc-gcc
g++ -> arm-linux-uclibc-g++

Explicit settings of CC and C++ will not work for cldc build,
since different compilers are used to build loopgen/romgen and the target VM itself.

asif_kalim
Offline
Joined: 2007-11-30
Points: 0

thank u so much danila
i created symlinks and during building pcsl, i get the following error,
[b]make[2]: Entering directory `.../pcsl/print/stdout'
.../obj/pcsl_print.o: No such file or directory[/b]

thanks,
asif

danila
Offline
Joined: 2006-09-25
Points: 0

Unfortunately, there is no option to increase verbosity for pcsl build.
You can modify makefiles, removing @-prefix from commands to get some hints about why it failed.
I think the problematic rule and command is this one in pcsl/print/javacall/GNUmakefile:

$(OUTPUT_OBJ_DIR)/pcsl_print.o: pcsl_print.c
@$(CC) $(CFLAGS) $(CC_OUTPUT)`$(call fixcygpath, $@)` $<

Try remove @-prefixes from all commands in this file and rerun the build.

asif_kalim
Offline
Joined: 2007-11-30
Points: 0

thanks danila,
i checked the statements by removing all @ sings in make file, same error. And also im building for linux_arm so not using javacall. is there something that compiler unable to locate stdio.h,

Before:
$(OUTPUT_LIB_DIR)/libpcsl_print$(LIB_EXT): $(OUTPUT_OBJ_DIR)/pcsl_print.o
@$(AR) $(AR_OUTPUT)$@ `$(call fixcygpath, $^)`
After:
$(OUTPUT_LIB_DIR)/libpcsl_print$(LIB_EXT): $(OUTPUT_OBJ_DIR)/pcsl_print.o
$(AR) $(AR_OUTPUT)$ `$(call fixcygpath, $^)`

danila
Offline
Joined: 2006-09-25
Points: 0

You should not remove all @ sings, but only those that are in the beginning of a line.
For example, this line:
@$(AR) $(AR_OUTPUT)$@ `$(call fixcygpath, $^)`
should be changed to this:
$(AR) $(AR_OUTPUT)$@ `$(call fixcygpath, $^)`

If you build for linux_arm, you should apply this change to pcsl/print/stdout/GNUmakefile.
Note it will not solve the build failure, it will just print additional information that will allow
you to find the cause and fix the failure.