swftools-common
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Swftools-common] Porting SWFTools (PDF2SWF) to Java


From: Pablo Beltran
Subject: Re: [Swftools-common] Porting SWFTools (PDF2SWF) to Java
Date: Sat, 15 Dec 2012 14:00:55 +0100

Hi,

I need some help to configure swftools with mips:

LDFLAGS='-L/home/pablo/zlib-1.2.7' \ 
CPPFLAGS='-I/home/pablo/zlib-1.2.7' \ 
CC=mips-unknown-elf-gcc \ 
CXX=mips-unknown-elf-g++ \ 
./configure --host=mips-unknown-elf

shows the following message:

ERROR:
You need zlib to compile swftools

the reason because the zlib library is not found is in the config.log (attached in this email):

configure:4531: mips-unknown-elf-gcc -o conftest -fPIC -Wimplicit -Wreturn-type -Wno-write-strings -Wformat -O -fomit-frame-pointer    -L/usr/local/lib conftest.c -lz  -lm  >&5
/usr/local/lib/libz.so: file not recognized: File format not recognized

This is partially right, because the the /usr/local/lib/libz.so library exists and it is a native library (Linux), so the mips compiler does not recognizes the format.Therefore, I compiled the zlib library (v1.2.7) with the mips compiler into the /home/pablo/zlib-1.2.7 directory and added the following two variables:

LDFLAGS='-L/home/pablo/zlib-1.2.7'
CPPFLAGS='-I/home/pablo/zlib-1.2.7' \

Nevertheless, they seem be ignored by the ./configure command according to the config.log (line 306):

LDFLAGS=' -L/usr/local/lib'

So, probably this is a generic question about SFWTools or even GCC. How can it be configured to look for the libraries in a custom directory?

Many thanks,
Pablo



2012/12/11 Pablo Beltran <address@hidden>
Hi everybody!

After some time googling, I would say the fastest and easiest way to port SWFtools to Java is at binary level by using the Nestedvm compiler: http://nestedvm.ibex.org/.
The process is not completed, so I need some help fomr the community members. Please, fell free to collaborate:

Quick start Guide
------------------------

A) Configure the nestedvm compiler:
----------------------------------------------------

On Linux (I run it on Mint 14) follow these simple steps:

1. Download the latest version from the Git repository: http://git.megacz.com/?p=nestedvm.git;a=summary
2. Build it: 
make CC='gcc -D_FORTIFY_SOURCE=0'
Disabling fortify source is recommended on newer Ubuntu based distributions only.
3. Test it:
make test
You should see a "Hello, World!" somewhere among other debug stuff output.
3. To generate the g++ compiler: 
make cxxtest
4. Add the gcc and g++ to the PATH=<path_to_nestedvm>/upstream/install/bin:$PATH

B) Compile SWFTools by using the Nestedvm compiler.
--------------------------------------------------------------------------------
I would say that something like this should work:
./configure CC="mips-unknown-elf-gcc" CXX="mips-unknown-elf-g++"
and in some point build pdf2swf.mips (Mips version of pdf2swf)

but I got stuck with the zlib 3rd party library. I also built zlib by using the Nestedvm, but I'm unable to get it work together with SWFTools
(Well, I've not much idea nor C/C++ neither compilers)

C) (I never tried this). Invoke SWFTools from the Java class. I read how:
----------------------------------------------------------------------------------------------------------------------------------------------
1. Build the java version of pdf2swf tools from the mips version. 
java -classpath <path_to_nestedvm>\build\;<path_to_nestedvm>\upstream\build\classgen\build\ org.ibex.nestedvm.Compiler -o 
lessConstants -outfile org/swftools/PDF2SWF.class org.swftools.PDF2SWF <path to pdf2swf.mips>
2. Invoke PDF2SWF.class from Java
=============================================
import org.sfwtools.PDF2SWF;

public class Test {
    public static void main(String[] args) {
        String[3] params = new String[3];
        params[0] = "-T9";
params[1] = "/home/pablo/foo.pdf";
params[2] = "-o /home/panlo/foo.swf";
PDF2SWF converter = new PDF2SWF(); converter.run(params);
}
}
=============================================
Many thanks!

Pablo

Attachment: config.log
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]