[질문] GCJ를 이용한 tomcat 컴파일

irongate의 이미지


안녕하세요?

gcj를 이용해서 tomcat 서버를 native code로 컴파일 시도 중입니다.

gcj는 아래의 링크를 참조 했습니다.
http://wiki.kldp.org/wiki.php/GCJ

그런데 어디서부터 시작해야 할지 감을 잡을 수가 없네요.
1) tomcat 전체를 컴파일이 가능한지?
2) Makefile 파일은 어떻게 만들어야 하는지?
3) java library는 어떤것이 필요한지?

여러가지 의문사항이 있습니다.

혹시 참조 가능한 자료를 없을까요?

제가 작성한 샘플 Makefile 입니다.

  SRCS = Constants.java  StandardContext.java
  OBJS=$(addsuffix .o , $(basename $(SRCS)))
  MAIN=ExamGCJ
  CLASS_PATH="/usr/local/classpath:.:/home/patrick/tmp/apache-tomcat-5.5.20-src/container/catalina/src/shar
    e:/home/patrick/jvm/commons-logging-1.1.1-src/src/java:/home/patrick/tmp/apache-tomcat-5.5.20-src/connect
    ors/jni/java:/home/patrick/jvm/commons-modeler-2.0.1-src/src/java:/home/patrick/jvm/classpath-0.98:"
 
  %.o: %.java  Makefile
       gcj --classpath=$(CLASS_PATH) -c -o $@ $<
 
  all: $(OBJS)
  #gcj --main=$(MAIN) $(OBJS) -o $(MAIN)

컴파일 에러 메세지

/home/patrick/jvm/classpath-0.98/java/lang/String.java:93: error: '{' expected.
  implements Serializable, Comparable<String>, CharSequence
                                        ^
/home/patrick/jvm/classpath-0.98/java/lang/String.java:94: error: Class or interface declaration expected.
{
   ^
/home/patrick/jvm/classpath-0.98/java/lang/String.java:102: error: Class or interface declaration expected.
  private static final long serialVersionUID = -6849794470754667710L;
                          ^
/home/patrick/jvm/classpath-0.98/java/lang/String.java:109: error: syntax error.
  private static final char[] upperExpand
                          ^
/home/patrick/jvm/classpath-0.98/java/lang/String.java:110: error: Class or interface declaration expected.
        = zeroBasedStringValue(CharData.UPPER_EXPAND);

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.