From: Igor Zhbanov <i.zhbanov at samsung.com>
To: powertop@lists.01.org
Subject: [Powertop] csstoh shell-script for cross-compiling PowerTOP
Date: Wed, 11 Jul 2012 10:17:31 +0400 [thread overview]
Message-ID: <4FFD1A7B.2000105@samsung.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 4080 bytes --]
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.
--8<--------------------------------------------------------------------------
diff -purN powertop/Android.mk powertop-cross/Android.mk
--- powertop/Android.mk 2012-07-05 11:54:25.052141513 +0400
+++ powertop-cross/Android.mk 2012-07-05 11:57:09.328145984 +0400
@@ -2,12 +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)
+ chmod +x ./$(GEN_CSSTOH)
./$(GEN_CSSTOH) $(POWERTOP_CSS_SOURCE) $@
LOCAL_GENERATED_SOURCES += $(GEN_CSS_H)
diff -purN powertop/.gitignore powertop-cross/.gitignore
--- powertop/.gitignore 2012-07-05 11:54:25.032141514 +0400
+++ powertop-cross/.gitignore 2012-07-05 11:55:49.028143801 +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-cross/src/csstoh.sh
--- powertop/src/csstoh.sh 1970-01-01 03:00:00.000000000 +0300
+++ powertop-cross/src/csstoh.sh 2012-07-05 11:50:22.000000000 +0400
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# 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-cross/src/Makefile.am
--- powertop/src/Makefile.am 2012-07-05 11:54:25.040141514 +0400
+++ powertop-cross/src/Makefile.am 2012-07-05 11:56:42.700145262 +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,7 @@ 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
+ chmod +x ./csstoh.sh
+ ./csstoh.sh powertop.css css.h
--8<--------------------------------------------------------------------------
Thank you.
--
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
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 02-powertop-cross-csstoh.diff --]
[-- Type: text/x-diff, Size: 3059 bytes --]
diff -purN powertop/Android.mk powertop-cross/Android.mk
--- powertop/Android.mk 2012-07-05 11:54:25.052141513 +0400
+++ powertop-cross/Android.mk 2012-07-05 11:57:09.328145984 +0400
@@ -2,12 +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)
+ chmod +x ./$(GEN_CSSTOH)
./$(GEN_CSSTOH) $(POWERTOP_CSS_SOURCE) $@
LOCAL_GENERATED_SOURCES += $(GEN_CSS_H)
diff -purN powertop/.gitignore powertop-cross/.gitignore
--- powertop/.gitignore 2012-07-05 11:54:25.032141514 +0400
+++ powertop-cross/.gitignore 2012-07-05 11:55:49.028143801 +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-cross/src/csstoh.sh
--- powertop/src/csstoh.sh 1970-01-01 03:00:00.000000000 +0300
+++ powertop-cross/src/csstoh.sh 2012-07-05 11:50:22.000000000 +0400
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# 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@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-cross/src/Makefile.am
--- powertop/src/Makefile.am 2012-07-05 11:54:25.040141514 +0400
+++ powertop-cross/src/Makefile.am 2012-07-05 11:56:42.700145262 +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,7 @@ 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
+ chmod +x ./csstoh.sh
+ ./csstoh.sh powertop.css css.h
next reply other threads:[~2012-07-11 6:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-11 6:17 Igor Zhbanov [this message]
-- strict thread matches above, loose matches on Subject: below --
2012-07-11 6:56 [Powertop] csstoh shell-script for cross-compiling PowerTOP Magnus Fromreide
2012-07-11 7:15 Igor Zhbanov
2012-07-11 7:36 Sergey Senozhatsky
2012-07-11 7:54 Paul Menzel
2012-07-11 8:47 Igor Zhbanov
2012-07-11 11:46 Paul Menzel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FFD1A7B.2000105@samsung.com \
--to=powertop@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.