Here is the new version:
--8<--Cut-here----------------------------------------------------------------
diff -purN powertop/Android.mk powertop-csstoh/Android.mk
--- powertop/Android.mk 2012-07-11 11:09:18.388958856 +0400
+++ powertop-csstoh/Android.mk 2012-07-11 11:09:56.884957818 +0400
@@ -2,13 +2,11 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
-CSSTOH_SOURCE := $(LOCAL_PATH)/csstoh.c
POWERTOP_CSS_SOURCE := $(LOCAL_PATH)/powertop.css
-GEN_CSSTOH := $(LOCAL_PATH)/csstoh
+GEN_CSSTOH := $(LOCAL_PATH)/csstoh.sh
GEN_CSS_H := $(LOCAL_PATH)/css.h
$(GEN_CSS_H):
- $(CC) -o $(GEN_CSSTOH) $(CSSTOH_SOURCE)
- ./$(GEN_CSSTOH) $(POWERTOP_CSS_SOURCE) $@
+ $(SHELL) ./$(GEN_CSSTOH) $(POWERTOP_CSS_SOURCE) $@
LOCAL_GENERATED_SOURCES += $(GEN_CSS_H)
diff -purN powertop/.gitignore powertop-csstoh/.gitignore
--- powertop/.gitignore 2012-07-11 11:09:18.372958855 +0400
+++ powertop-csstoh/.gitignore 2012-07-11 11:09:34.180958433 +0400
@@ -39,7 +39,6 @@ po/*.gmo
po/stamp-po
src/powertop
src/css.h
-src/csstoh
src/Makefile.in
src/.deps/
src/Makefile
diff -purN powertop/src/csstoh.sh powertop-csstoh/src/csstoh.sh
--- powertop/src/csstoh.sh 1970-01-01 03:00:00.000000000 +0300
+++ powertop-csstoh/src/csstoh.sh 2012-07-11 11:10:54.716956259 +0400
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# This program file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program in a file named COPYING; if not, write to the
+# Free Software Foundation, Inc,
+# 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301 USA
+# or just google for it.
+#
+# Written by Igor Zhbanov<i.zhbanov(a)samsung.com>
+
+if [ $# -lt 2 ]; then
+ echo "Usage: csstoh.sh cssfile header.h"
+ exit 1
+fi
+
+if [ ! -r $1 ]; then
+ echo "Can't find file $1"
+ exit 1
+fi
+
+if ! echo -n>$2; then
+ echo "Can't open file $2 for writing."
+ exit 1
+fi
+
+echo "#ifndef __INCLUDE_GUARD_CCS_H">> $2
+echo "#define __INCLUDE_GUARD_CCS_H">> $2
+echo>> $2
+echo "const char css[] = ">> $2
+
+sed -r 's/^(.*)$/\t\"\1\\n\"/' $1>> $2
+
+echo ";">> $2
+echo "#endif">> $2
diff -purN powertop/src/Makefile.am powertop-csstoh/src/Makefile.am
--- powertop/src/Makefile.am 2012-07-11 11:09:18.376958857 +0400
+++ powertop-csstoh/src/Makefile.am 2012-07-11 11:10:13.888957361 +0400
@@ -1,9 +1,6 @@
AUTOMAKE_OPTIONS = subdir-objects
ACLOCAL_AMFLAGS = -I ../m4
-noinst_PROGRAMS = csstoh
-csstoh_SOURCES = csstoh.c
-
sbin_PROGRAMS = powertop
nodist_powertop_SOURCES = css.h
@@ -44,6 +41,6 @@ AM_LDFLAGS = $(LIBS) $(NCURSES_LIBS) $(P
BUILT_SOURCES = css.h
CLEANFILES = css.h
-css.h: csstoh powertop.css
- ./csstoh powertop.css css.h
+css.h: powertop.css
+ $(SHELL) ./csstoh.sh powertop.css css.h
--8<--------------------------------------------------------------------------
Magnus Fromreide wrote:
On Wed, 2012-07-11 at 10:17 +0400, Igor Zhbanov wrote:
> Hello!
>
> I have tried to build PowerTOP for ARM with a cross-compiler. But PowerTOP
> uses internal csstoh utility that converts powertop.css to powertoh.h
> for inclusion in *.cpp source files.
>
> When you use the cross-compiler (without making complicated rules
> in the Makefile) this utility will be compiled for ARM platform too.
> And you cannot run it on x86 build host.
>
> To solve this issue (and because of simplicity of the utility)
> I have rewritten it in a shell script.
Why /bin/bash?
The script doesn't depend on any bashisms so /bin/sh should be enough,
right?
Why all the games with chmod?
$(SHELL) csstoh.sh powertop.css css.h
should also run the script correctly, shouldn't it?
/MF
--
Best regards,
Igor Zhbanov,
Expert Software Engineer,
phone: +7 (495) 797 25 00 ext 3806
e-mail: i.zhbanov(a)samsung.com
ASWG, Moscow R&D center, Samsung Electronics
12 Dvintsev street, building 1
127018, Moscow, Russian Federation