first commit
[scm/bb/meta-tizen.git] / recipes-tizen / readline / readline.inc
1 DESCRIPTION = "The Readline Library"
2 HOMEPAGE = "http://www.gnu.org/software/bash/bash.html"
3 SECTION = "Base/Libraries"
4 LICENSE = "GPL-2.0+"
5
6 SRC_URI = ""
7
8 S = "${WORKDIR}/git"
9
10 PROVIDES = ""
11
12 #PROVIDES by libreadline 
13 PROVIDES += "libreadline"
14 RPROVIDES_libreadline += "libreadline"
15
16 #PROVIDES by readline 
17 PROVIDES += "readline"
18 RPROVIDES_readline += "readline"
19 # the PROVIDES rules is ignore "bash://usr/lib/libreadline.so.5  "
20 PROVIDES += "bash://usr/lib/libreadline.so.5"
21 RPROVIDES_readline += "bash://usr/lib/libreadline.so.5"
22
23 #PROVIDES by readline-devel 
24 PROVIDES += "readline-devel"
25 RPROVIDES_readline-devel += "readline-devel"
26 RPROVIDES_readline-devel += "readline-dev"
27 # the PROVIDES rules is ignore "bash:/usr/lib/libreadline.a  "
28 PROVIDES += "bash:/usr/lib/libreadline.a"
29 RPROVIDES_readline-devel += "bash:/usr/lib/libreadline.a"
30
31 RDEPENDS = ""
32 #RDEPENDS of readline-devel (${PN}-devel)
33 RDEPENDS_${PN}-devel += "libreadline"
34 RDEPENDS_${PN}-devel += "ncurses-dev"
35
36
37 DEPENDS = ""
38 #DEPENDS of readline 
39 DEPENDS += "ncurses"
40 DEPENDS += "autoconf-native"
41 DEPENDS += "bison-native"
42 DEPENDS += "fdupes-native"
43
44 do_patch() {
45  chmod -Rf a+rX,u+w,g-w,o-w ${S}
46  #setup -q -n readline-5.2
47  cp ${S}/packaging/readline.manifest .
48  
49  
50 }
51
52 do_configure() {
53 }
54
55 do_compile() {
56  LANG=C
57  export LANG
58  unset DISPLAY
59  CFLAGS="-O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables" ; export CFLAGS ; 
60  CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CXXFLAGS ; 
61  FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -I%_fmoddir}" ; export FFLAGS ; 
62  LD_AS_NEEDED=1; export LD_AS_NEEDED ; 
63  
64    autoconf
65    cflags ()
66    {
67        local flag=$1; shift
68        case "-O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables" in
69        *${flag}*) return
70        esac
71        if test -n "$1" && gcc -Werror $flag -S -o /dev/null -xc   /dev/null > /dev/null 2>&1 ; then
72           local var=$1; shift
73           eval $var=\${$var:+\$$var\ }$flag
74        fi
75    }
76    echo 'int main () { return !(sizeof(void*) >= 8); }' | gcc -x c -o test64 -
77    if ./test64 ; then
78        LARGEFILE=""
79    else
80        LARGEFILE="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
81    fi
82    rm -f ./test64
83    CFLAGS="-O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
84    LDFLAGS=""
85    cflags -std=gnu89              CFLAGS
86    cflags -Wuninitialized         CFLAGS
87    cflags -Wextra                 CFLAGS
88    cflags -Wno-unprototyped-calls CFLAGS
89    cflags -Wno-switch-enum        CFLAGS
90    cflags -ftree-loop-linear      CFLAGS
91    cflags -pipe                   CFLAGS
92    cflags -Wl,--as-needed         LDFLAGS
93    cflags -Wl,-O,2                LDFLAGS
94    CC=gcc
95    CC_FOR_BUILD="$CC"
96    CFLAGS_FOR_BUILD="$CFLAGS"
97    LDFLAGS_FOR_BUILD="$LDFLAGS"
98    export CC_FOR_BUILD CFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD CFLAGS LDFLAGS CC
99    ./configure --build=x86_64-tizen-linux       \
100         --prefix=/usr                   \
101         --with-curses                   \
102         --mandir=/usr/share/man         \
103         --infodir=/usr/share/info               \
104         --libdir=/usr/lib
105    make
106    make documentation
107    ln -sf shlib/libreadline.so.5.2 libreadline.so
108    ln -sf shlib/libreadline.so.5.2 libreadline.so.5
109    ln -sf shlib/libhistory.so.5.2 libhistory.so
110    ln -sf shlib/libhistory.so.5.2 libhistory.so.5
111  
112  
113  
114 }
115
116 do_install() {
117  echo export RPM_BUILD_ROOT=${D}
118  LANG=C
119  export LANG
120  unset DISPLAY
121  rm -rf ${D} 
122  mkdir -p ${D} 
123  
124    make install htmldir=/usr/share/doc/packages/readline DESTDIR=${D}
125    make install-shared libdir=//usr/lib linkagedir=/usr/lib DESTDIR=${D}
126    rm -rf ${D}/usr/share/doc/packages/bash
127    rm -rf ${D}/usr/share/doc/packages/readline
128    chmod 0755 ${D}//usr/lib/libhistory.so.5.2
129    chmod 0755 ${D}//usr/lib/libreadline.so.5.2
130    rm -f ${D}//usr/lib/libhistory.so.5.2*old
131    rm -f ${D}//usr/lib/libreadline.so.5.2*old
132    # remove unpackaged files
133    #rm -fv ${D}/usr/lib/libhistory.so.*
134    #rm -fv ${D}/usr/lib/libreadline.so.*
135    rm -fv ${D}/usr/share/man/man3/history.3*
136    rm -fv ${D}/usr/share/info/*.info*
137  
138  
139 }
140
141 PACKAGES = ""
142 PACKAGES += "libreadline"
143 PACKAGES += "readline-devel"
144
145 libreadline_files = ""
146 libreadline_files += "readline.manifest"
147 libreadline_files += "/usr/lib/libhistory.so.5"
148 libreadline_files += "/usr/lib/libhistory.so.5.2"
149 libreadline_files += "/usr/lib/libreadline.so.5"
150 libreadline_files += "/usr/lib/libreadline.so.5.2"
151
152 readline-devel_files = ""
153 readline-devel_files += "readline.manifest"
154 readline-devel_files += "/usr/include/readline/"
155 readline-devel_files += "/usr/lib/libhistory.a"
156 readline-devel_files += "/usr/lib/libhistory.so"
157 readline-devel_files += "/usr/lib/libreadline.a"
158 readline-devel_files += "/usr/lib/libreadline.so"
159 readline-devel_files += "/usr/share/man/man3/readline.3.gz"
160
161 FILES_lib${PN} = "${libreadline_files}"
162 FILES_${PN}-devel = "${readline-devel_files}"
163
164 PKG_libreadline= "libreadline"
165 PKG_readline-devel= "readline-devel"
166
167 require readline-extraconf.inc