All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Zhbanov <i.zhbanov at samsung.com>
To: powertop@lists.01.org
Subject: Re: [Powertop] csstoh shell-script for cross-compiling PowerTOP
Date: Wed, 11 Jul 2012 11:15:58 +0400	[thread overview]
Message-ID: <4FFD282E.6080105@samsung.com> (raw)
In-Reply-To: 1341989764.2654.2.camel@sara

[-- Attachment #1: Type: text/plain, Size: 4480 bytes --]

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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 02-powertop-cross-csstoh.diff --]
[-- Type: text/x-diff, Size: 3077 bytes --]

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@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
 

             reply	other threads:[~2012-07-11  7:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-11  7:15 Igor Zhbanov [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-07-11 11:46 [Powertop] csstoh shell-script for cross-compiling PowerTOP Paul Menzel
2012-07-11  8:47 Igor Zhbanov
2012-07-11  7:54 Paul Menzel
2012-07-11  7:36 Sergey Senozhatsky
2012-07-11  6:56 Magnus Fromreide
2012-07-11  6:17 Igor Zhbanov

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=4FFD282E.6080105@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.