Asterisk-1.4.19 compiled for arm (iMX27)

Hello,
I’m compiling asterisk with gcc for arm, to succeed i have a procedure that i will show you, please let me know if I’m compiling in the wrong way :
It’s in 6 steps :

1.start
export TERMCAP_DIR=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/
export NCURSES_DIR=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/
export CURSES_DIR=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/
AR=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ar
AS=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/as
LD=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ld
NM=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/nm
CC=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc
CPP="/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc -E"
GCC=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc
CXX=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/g++
RANLIB=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ranlib
STRIP=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/strip
LDFLAGS=" -L/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib"
./configure --prefix=/home/bouin/ltib-imx27ads-20070522/rootfs/usr --host=arm-linux --build=i686-pc-linux-gnu --with-termcap=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/ --with-ncurses=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/ --with-curses=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/

1.end

#everything seems to be ok:
configure: Package configured for:
configure: OS type : linux-gnu
configure: Host CPU : arm
configure: Cross Compilation = YES

2.start
export TERMCAP_DIR=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/
export NCURSES_DIR=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/
export CURSES_DIR=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/
AR=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ar
AS=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/as
LD=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ld
NM=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/nm
CC=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc
CPP="/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc -E"
GCC=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc
CXX=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/g++
RANLIB=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ranlib
STRIP=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/strip
LDFLAGS=" -L/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib"
make

2.end

#we get a problem with this error :
configure: error: termcap support not found
make[1]: *** [editline/libedit.a] Erreur 1
make: *** [main] Erreur 2
#so we do a configure into main/editline :
3.start
cd main/editline && test -f config.h || CFLAGS="-pthread -I…/…//include -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -include …/…//include/asterisk/autoconfig.h -fsigned-char -O6" LDFLAGS="" ./configure --build=i686-pc-linux-gnu --host=arm-unknown-linux-gnu --with-ncurses= --with-curses= --with-termcap=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/ --with-tinfo=

3.end

4.start
cd …/…
4.end

5.start
save the file main_editline_Makefile as main/editline/Makefile
5.end

6.start
export TERMCAP_DIR=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/
export NCURSES_DIR=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/
export CURSES_DIR=/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib/
AR=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ar
AS=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/as
LD=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ld
NM=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/nm
CC=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc
CPP="/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc -E"
GCC=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc
CXX=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/g++
RANLIB=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ranlib
STRIP=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/strip
LDFLAGS=" -L/home/bouin/ltib-imx27ads-20070522/rootfs/usr/lib"
make

6.end
#everything seems to be ok:
±-------- Asterisk Build Complete ---------+

  • Asterisk has successfully been built, and +
  • can be installed by running: +
  •                                       +
    
  •           make install                +
    

±------------------------------------------+

make install
. . .

Thank you for your advice,
aurelihein

The file main_editline_Makefile is :

# Generated automatically from Makefile.in by configure.
#
# Generic Makefile for libedit.
#

OSTYPE=$(shell uname -s)
define cyg_subst_sys
	if uname -s | ${GREP} -qi cygwin; then \
	cat $@ | sed -e s/"sys\.h"/"config.h"/g > $@.copy; \
	mv --force $@.copy $@; \
	fi
endef

SHELL = /bin/sh

AR=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ar 
AS=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/as 
LD=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ld 
NM=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/nm 
CC=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc 
CPP="/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc -E" 
GCC=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/gcc 
CXX=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/g++ 
RANLIB=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/ranlib 
STRIP=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/arm-926ejs-linux/bin/strip 
CPPFLAGS =  '-D__RCSID(x)=' '-D__COPYRIGHT(x)=' '-D__RENAME(x)=' '-D_DIAGASSERT(x)=' -I.
CFLAGS = -pthread -I../..//include -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -include ../..//include/asterisk/autoconfig.h -fsigned-char -O6 -I/home/bouin/ltib-imx27ads-20070522/rootfs/usr/include/
A_CFLAGS = 
S_CFLAGS = -fPIC -DPIC
LDFLAGS = 
S_LDFLAGS = -shared
LIBS = -ltermcap 

INSTALL = /usr/bin/install -c
PREFIX = /usr/local

ifeq ($(OSTYPE),SunOS)
CFLAGS+=-DSOLARIS -I../../include/solaris-compat
endif

# .c files.
ACSRCS = common.c emacs.c vi.c
BCSRCS = chared.c el.c hist.c key.c map.c parse.c prompt.c read.c refresh.c search.c sig.c term.c tty.c
CCSRCS =  np/strlcat.c np/strlcpy.c np/fgetln.c np/vis.c np/unvis.c history.c tokenizer.c readline.c

# Generated .c files.
AGCSRCS = fcns.c help.c
BGCSRCS = editline.c

# .h files.
HDRS = chared.h el.h hist.h key.h map.h parse.h prompt.h refresh.h search.h sig.h sys.h term.h tokenizer.h tty.h

# Generated .h files.
AGHDRS = common.h emacs.h vi.h
BGHDRS = fcns.h help.h

# Installed .h files.
IHDRS = histedit.h readline/readline.h
IHDR_LINKS = readline.h readline/history.h
HDR_DIRS = include include/readline

# Man pages.
MAN3 = editline.3
MAN5 = editrc.5
MAN3_LINKS =  editline.3 el_init.3 editline.3 el_end.3 editline.3 el_reset.3 editline.3 el_gets.3 editline.3 el_getc.3 editline.3 el_push.3 editline.3 el_parse.3 editline.3 el_set.3 editline.3 el_get.3 editline.3 el_source.3 editline.3 el_resize.3 editline.3 el_line.3 editline.3 el_insertstr.3 editline.3 el_deletestr.3 editline.3 history_init.3 editline.3 history_end.3 editline.3 history.3
MAN_DIRS = man/man3 man/man5

# Library.
LIB_DIRS = lib
LIB_VER = 
LIB_A = libedit.a
LIB_A_LINKS =  libedit.a libreadline.a
LIB_S = libedit.so.2
LIB_S_LINKS = libedit.so.2 libedit.so libedit.so libreadline.so

# Test program.
TEST = TEST/test
TCSRCS = TEST/test.c

# Clear out all paths, then set just one (default path) for the main build
# directory.
.PATH :
.PATH : .

.SUFFIXES :
.SUFFIXES : .c .o .o_a .o_s

all :  lib_a lib_s

lib_a : $(LIB_A)
lib_s : $(LIB_S)

test : $(TEST)

install : install_hdr install_lib install_man

install_hdr :
	@for i in $(HDR_DIRS) ; do \
		echo "$(INSTALL) -d $(PREFIX)/$$i/"; \
		$(INSTALL) -d $(PREFIX)/$$i/; \
	done
	@for i in $(IHDRS); do \
		echo "$(INSTALL) -m 0444 $$i $(PREFIX)/include/`dirname $$i`/"; \
		$(INSTALL) -m 0444 $$i $(PREFIX)/include/`dirname $$i`/; \
	done
	@f=; \
	for i in $(IHDR_LINKS) ""; do \
		if test -z "$$f" ; then \
			f=$$i; \
		else \
			echo "rm -f $(PREFIX)/include/$$i"; \
			rm -f $(PREFIX)/include/$$i; \
			echo "ln -s $$f $(PREFIX)/include/$$i"; \
			ln -s $$f $(PREFIX)/include/$$i; \
			f=; \
		fi; \
	done

install_lib : install_lib_a install_lib_s

install_lib_common :
	@for i in $(LIB_DIRS) ; do \
		echo "$(INSTALL) -d $(PREFIX)/$$i/"; \
		$(INSTALL) -d $(PREFIX)/$$i/; \
	done

install_lib_a : $(LIB_A) install_lib_common
	$(INSTALL) -m 0644 $(LIB_A) $(PREFIX)/lib/
	@f=; \
	for i in $(LIB_A_LINKS) ""; do \
		if test -z "$$f" ; then \
			f=$$i; \
		else \
			echo "rm -f $(PREFIX)/lib/$$i"; \
			rm -f $(PREFIX)/lib/$$i; \
			echo "ln -s $$f $(PREFIX)/lib/$$i"; \
			ln -s $$f $(PREFIX)/lib/$$i; \
			f=; \
		fi; \
	done

install_lib_s : $(LIB_S) install_lib_common
	$(INSTALL) -m 0755 $(LIB_S) $(PREFIX)/lib/
	@f=; \
	for i in $(LIB_S_LINKS) ""; do \
		if test -z "$$f" ; then \
			f=$$i; \
		else \
			echo "rm -f $(PREFIX)/lib/$$i"; \
			rm -f $(PREFIX)/lib/$$i; \
			echo "ln -s $$f $(PREFIX)/lib/$$i"; \
			ln -s $$f $(PREFIX)/lib/$$i; \
			f=; \
		fi; \
	done

install_man :
	@for i in $(MAN_DIRS) ; do \
		echo "$(INSTALL) -d $(PREFIX)/$$i/"; \
		$(INSTALL) -d $(PREFIX)/$$i/; \
	done
	@for i in $(MAN3); do \
		echo $(INSTALL) -m 0444 $$i $(PREFIX)/man/man3/; \
		$(INSTALL) -m 0444 $$i $(PREFIX)/man/man3/; \
	done
	@f=; \
	for i in $(MAN3_LINKS) ""; do \
		if test -z "$$f" ; then \
			f=$$i; \
		else \
			echo "rm -f $(PREFIX)/man/man3/$$i"; \
			rm -f $(PREFIX)/man/man3/$$i; \
			echo "ln -s $$f $(PREFIX)/man/man3/$$i"; \
			ln -s $$f $(PREFIX)/man/man3/$$i; \
			f=; \
		fi; \
	done
	@for i in $(MAN5); do\
		echo $(INSTALL) -m 0444 $$i $(PREFIX)/man/man5/; \
		$(INSTALL) -m 0444 $$i $(PREFIX)/man/man5/; \
	done

clean :
	rm -f $(AGCSRCS) $(BGCSRCS) $(AGHDRS) $(BGHDRS) $(LIB_A) $(LIB_S)
	rm -f $(BGCSRCS:.c=.o_a) $(CCSRCS:.c=.o_a)
	rm -f $(BGCSRCS:.c=.o_s) $(CCSRCS:.c=.o_s)
	rm -f $(TCSRCS:.c=.o) $(TEST)
	rm -f *.s *.i

distclean : clean
	rm -f config.cache config.log config.status config.h Makefile

#
# Internal targets and rules.
#

$(LIB_A) : $(BGCSRCS:.c=.o_a) $(CCSRCS:.c=.o_a)
	$(AR) cru $@ $?
	$(RANLIB) $@

$(LIB_S) : $(BGCSRCS:.c=.o_s) $(CCSRCS:.c=.o_s)
	$(CC) $(S_LDFLAGS) -o $@ $(BGCSRCS:.c=.o_s) $(CCSRCS:.c=.o_s) $(LIBS)

$(TEST) : $(TCSRCS:.c=.o) $(LIB_A)
	$(CC) -o $@ $(TCSRCS:.c=.o) $(LIB_A) $(LIBS)

common.h : common.c
	$(SHELL) makelist -h common.c > $@

emacs.h : emacs.c
	$(SHELL) makelist -h emacs.c> $@

vi.h : vi.c
	$(SHELL) makelist -h vi.c > $@

fcns.h : $(AGHDRS)
	$(SHELL) makelist -fh $(AGHDRS) > $@

fcns.c : $(AGHDRS) fcns.h
	$(SHELL) makelist -fc $(AGHDRS) > $@
	$(cyg_subst_sys)

help.h : $(ACSRCS)
	$(SHELL) makelist -bh $(ACSRCS) > $@

help.c : $(ACSRCS) help.h
	$(SHELL) makelist -bc $(ACSRCS) > $@
	$(cyg_subst_sys)

editline.c : $(ACSRCS) $(BCSRCS) $(AGCSRCS)
	$(SHELL) makelist -e $(ACSRCS) $(BCSRCS) $(AGCSRCS) > $@

.c.o :
	$(CC) -c $(A_CFLAGS) $(CFLAGS) $(CPPFLAGS) $< -o $@

.c.o_a : $(AGHDRS) $(BGHDRS)
	$(CC) -c $(A_CFLAGS) $(CFLAGS) $(CPPFLAGS) $< -o $@

.c.o_s : $(AGHDRS) $(BGHDRS)
	$(CC) -c $(S_CFLAGS) $(CFLAGS) $(CPPFLAGS) $< -o $@

$(CCSRCS) : $(BGHDRS)


Thank you for the support !

Does anybody have compiled asterisk for arm platform ? where can i go to get informations ?
thanks

[quote=“aurelihein”]…
Thank you for the support ![/quote]
You are very welcome! :smiley: