mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-26 10:03:34 +03:00
Remove broken VxWorks support
This commit is contained in:
parent
041ed3d6b0
commit
8f3bd26241
@ -1209,7 +1209,7 @@ cleanup:
|
||||
|
||||
dist-hook: cleanup libxml2.spec
|
||||
-cp libxml2.spec $(distdir)
|
||||
(cd $(srcdir) ; tar -cf - --exclude .git win32 os400 vms VxWorks test result) | (cd $(distdir); tar xf -)
|
||||
(cd $(srcdir) ; tar -cf - --exclude .git win32 os400 vms test result) | (cd $(distdir); tar xf -)
|
||||
|
||||
dist-source: distdir
|
||||
$(AMTAR) -chof - --exclude Tests --exclude test --exclude result $(distdir) | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-sources+"`.tar.gz
|
||||
|
@ -1,68 +0,0 @@
|
||||
##----------------------------------------------------------------
|
||||
##
|
||||
##-- Filename: Makefile
|
||||
##
|
||||
##-- $Date: 2008/02/23 02:56:17 $
|
||||
##-- $Revision: 1.2 $
|
||||
##-- $Name: $
|
||||
##
|
||||
##----------------------------------------------------------------
|
||||
|
||||
NAME = xml2
|
||||
TOOL_FAMILY=gnu
|
||||
|
||||
include $(WIND_USR)/tool/gnu/make.$(VXCPU)
|
||||
|
||||
FLAGS = -Wall -g -Isrc -Isrc/include -D_REENTRANT=1
|
||||
#FLAGS = -Wall -O2 -Isrc -Isrc/include -D_REENTRANT=1
|
||||
|
||||
FLAGS += $(DEFINE_CC) $(CC_ARCH_SPEC) -MD -MP -D_VX_CPU=_VX_$(CPU) -D_VX_TOOL_FAMILY=gnu -D_VX_TOOL=$(TOOL)
|
||||
ifeq ($(VXTYPE),RTP)
|
||||
FLAGS += -mrtp -fpic -I$(WIND_USR)/h -I$(WIND_USR)/h/wrn/coreip
|
||||
else
|
||||
FLAGS += -D_WRS_KERNEL -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip
|
||||
endif
|
||||
|
||||
ifeq ($(VXTYPE),RTP)
|
||||
ifeq ($(CPU),SH32)
|
||||
LIB_LDFLAGS += -L$(WIND_USR)/lib/sh/SH32/commonle/PIC
|
||||
else
|
||||
LIB_LDFLAGS += $(LD_LINK_PATH_ATEND) $(LD_PARTIAL_LAST_FLAGS)
|
||||
endif
|
||||
endif
|
||||
|
||||
OBJS = c14n.o catalog.o chvalid.o \
|
||||
debugXML.o dict.o DOCBparser.o \
|
||||
encoding.o entities.o error.o \
|
||||
globals.o \
|
||||
hash.o \
|
||||
legacy.o list.o \
|
||||
parser.o parserInternals.o pattern.o \
|
||||
relaxng.o \
|
||||
SAX2.o SAX.o schematron.o \
|
||||
threads.o tree.o \
|
||||
uri.o \
|
||||
valid.o \
|
||||
xinclude.o xlink.o xmlcatalog.o xmlIO.o \
|
||||
xmlmemory.o xmlmodule.o xmlreader.o xmlregexp.o \
|
||||
xmlsave.o xmlschemas.o xmlschemastypes.o xmlstring.o \
|
||||
xmlunicode.o xmlwriter.o xpath.o xpointer.o
|
||||
|
||||
all : lib$(NAME).so
|
||||
|
||||
init :
|
||||
mkdir -p objs
|
||||
|
||||
.PHONY : lib$(NAME).so
|
||||
|
||||
lib$(NAME).so : init $(patsubst %.o, objs/%.o, $(OBJS))
|
||||
$(CC) $(FLAGS) $(LIB_LDFLAGS) -shared -o $@ $(patsubst %.o, objs/%.o, $(OBJS))
|
||||
|
||||
(NAME).out : init $(patsubst %.o, objs/%.o, $(OBJS))
|
||||
$(CC) $(FLAGS) -o $@ $(patsubst %.o, objs/%.o, $(OBJS))
|
||||
|
||||
objs/%.o: src/%.c
|
||||
$(CC) $(FLAGS) -o $@ -c $<
|
||||
|
||||
clean:
|
||||
rm -fR *.so objs
|
@ -1,86 +0,0 @@
|
||||
libxml2 on VxWorks 6.4+
|
||||
|
||||
Here are my instructions for building on VxWorks.... I am very ashamed of
|
||||
how I did this because it is a complete hack, but it works great, so I
|
||||
can't complain too much.
|
||||
|
||||
General Information
|
||||
|
||||
1. The only way to build for VxWorks is to cross compile from a windows or
|
||||
linux system. We use a RedHat 5.1 workstation system as our build
|
||||
environment.
|
||||
|
||||
2. VxWorks 6.X has two main types of executable, DKMs (dynamic kernel
|
||||
modules), and RTPs (real-time processes). Kernel modules are the bread
|
||||
and butter of VxWorks, but they look nothing like processes/threads in
|
||||
normal UNIX/Windows systems. RTPs are more like processes that have
|
||||
memory protection, threads, etc. VxWorks 6.X also introduces some level
|
||||
of POSIX conformance to their environment. The POSIX conformance was the
|
||||
key for us to be able to port libxml2. We support accessing libxml2 from
|
||||
both DKMs and RTPs.
|
||||
|
||||
3. There are 2 compilers for VxWorks, the WindRiver compiler, and a port
|
||||
of the GNU toolchain, we have only tested and built with the GNU
|
||||
toolchain.
|
||||
|
||||
How To Build
|
||||
|
||||
1. Run the configure on your native linux system (this is the cheesy
|
||||
hack). Since the VxWorks GNU toolchain is very close in version to the
|
||||
one in red hat, it generates a good config.h file. We configured libxml2
|
||||
with the following to keep the size down, (but we have done basic testing
|
||||
with everything compiled in).
|
||||
|
||||
./configure --with-minimum --with-reader --with-writer --with-regexps
|
||||
--with-threads --with-thread-alloc
|
||||
|
||||
2. Rename the libxml2 folder to "src". This step is required for our
|
||||
replacement makefile to work.
|
||||
|
||||
3. Run the replacement makefile. I wrote a new makefile that sets all the
|
||||
proper vxworks defines and uses the correct compilers. The two defines on
|
||||
the make command line are to tell it which VxWorks Target (SH3.2 little
|
||||
endian), and the executable type. We have tested this code on PENTIUM2gnu
|
||||
and SH32gnule.
|
||||
|
||||
This makefile creates a shared library that runs on VxWorks: (libxml2.so)
|
||||
make -f Makefile.vxworks clean all VXCPU=SH32gnule VXTYPE=RTP
|
||||
|
||||
This makefile creates a kernel module that runs on VxWorks: (xml2.out)
|
||||
make -f Makefile.vxworks clean all VXCPU=SH32gnule VXTYPE=DKM
|
||||
|
||||
Important Notes
|
||||
|
||||
1. There are several ways that this process could be improved, but at the
|
||||
end of the day, we make products, not port libraries, so we did a meets
|
||||
minimum for our needs.
|
||||
|
||||
2. VxWorks is the devil, give me embedded linux every day.
|
||||
|
||||
3. No matter what I tried, I couldn't get the configure to pick up the
|
||||
VxWorks toolchain, and in my investigation, it has something to do with
|
||||
automake/autoconf, not any individual package. VxWorks doesn't play by
|
||||
the normal rules for building toolchains.
|
||||
|
||||
4. The PIC flag in VxWorks (especially for SH processors) is very
|
||||
important, and very troublesome. On linux, you can liberally use the PIC
|
||||
flag when compiling and the compiler/linker will ignore it as needed, on
|
||||
VxWorks if must always be on for shared libraries, and always be off for
|
||||
static libraries and executables.
|
||||
|
||||
5. If anyone wants to work on a better way to do the build of libxml2 for
|
||||
VxWorks, I'm happy to help as much as I can, but I'm not looking to
|
||||
support it myself.
|
||||
|
||||
Attached Files
|
||||
|
||||
1. To use my Makefile for vxworks, you should enter the vxworks
|
||||
environment (/opt/windriver/wrenv.linux -p vxworks-6.4 for me).
|
||||
2. Run: build.sh libxml2-2.6.32 SH32gnule RTP (where you have
|
||||
libxml2-2.6.32.tar.gz and the Makefile in the same directory as the script
|
||||
file).
|
||||
|
||||
Thanks,
|
||||
|
||||
Jim Wert Jr.
|
||||
JWert@ILSTechnology.com
|
@ -1,85 +0,0 @@
|
||||
LIBXML2=$1
|
||||
TARGETCPU=$2
|
||||
TARGETTYPE=$3
|
||||
|
||||
if [ -z "$2" ]; then
|
||||
TARGETCPU=SIMPENTIUMgnu
|
||||
fi
|
||||
|
||||
if [ -z "$3" ]; then
|
||||
TARGETTYPE=RTP
|
||||
fi
|
||||
|
||||
echo "LIBXML2 Version: ${LIBXML2}"
|
||||
echo "LIBXML2 Target CPU: ${TARGETCPU}"
|
||||
echo "LIBXML2 Target Type: ${TARGETTYPE}"
|
||||
|
||||
rm -fR src
|
||||
tar xvzf ${LIBXML2}.tar.gz
|
||||
mv ${LIBXML2} src
|
||||
cd src
|
||||
|
||||
./configure --with-minimum --with-reader --with-writer --with-regexps --with-threads --with-thread-alloc
|
||||
|
||||
find . -name '*.in' -exec rm -fR {} +
|
||||
find . -name '*.am' -exec rm -fR {} +
|
||||
rm -fR *.m4
|
||||
rm -fR *.pc
|
||||
rm -fR *.pl
|
||||
rm -fR *.py
|
||||
rm -fR *.spec
|
||||
rm -fR .deps
|
||||
rm -fR AUTHORS
|
||||
rm -fR bakefile
|
||||
rm -fR ChangeLog
|
||||
rm -fR config.guess
|
||||
rm -fR config.log
|
||||
rm -fR config.status
|
||||
rm -fR config.stub
|
||||
rm -fR config.sub
|
||||
rm -fR configure
|
||||
rm -fR COPYING
|
||||
rm -fR Copyright
|
||||
rm -fR depcomp
|
||||
rm -fR doc
|
||||
rm -fR example
|
||||
rm -fR INSTALL
|
||||
rm -fR install-sh
|
||||
rm -fR libxml.3
|
||||
rm -fR ltmain.sh
|
||||
rm -fR Makefile
|
||||
rm -fR Makefile.tests
|
||||
rm -fR macos
|
||||
rm -fR mkinstalldirs
|
||||
rm -fR missing
|
||||
rm -fR nanoftp.c
|
||||
rm -fR nanohttp.c
|
||||
rm -fR NEWS
|
||||
rm -fR python
|
||||
rm -fR README
|
||||
rm -fR README.tests
|
||||
rm -fR regressions.xml
|
||||
rm -fR result
|
||||
rm -fR runsuite.c
|
||||
rm -fR runtest.c
|
||||
rm -fR test
|
||||
rm -fR test*.c
|
||||
rm -fR TODO*
|
||||
rm -fR trio*
|
||||
rm -fR vms
|
||||
rm -fR win32
|
||||
rm -fR xml2*
|
||||
rm -fR xmllint.c
|
||||
rm -fR xstc
|
||||
|
||||
cd ..
|
||||
|
||||
make clean all VXCPU=${TARGETCPU} VXTYPE=${TARGETTYPE}
|
||||
|
||||
if [ "${TARGETTYPE}" = "RTP" ]; then
|
||||
cp libxml2.so ../../lib/.
|
||||
else
|
||||
cp xml2.out ../../bin/.
|
||||
fi
|
||||
|
||||
cp -R src/include/libxml ../../include/.
|
@ -16,7 +16,7 @@ variety of language bindings make it available in other environments.
|
||||
|
||||
Libxml2 is known to be very portable, the library should build and work
|
||||
without serious troubles on a variety of systems (Linux, Unix, Windows,
|
||||
CygWin, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, VxWorks,
|
||||
CygWin, MacOS X, RISC Os, OS/2, VMS, QNX, MVS,
|
||||
...)</description>
|
||||
<mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/xml" />
|
||||
<category rdf:resource="http://api.gnome.org/doap-extensions#infrastructure" />
|
||||
|
Loading…
x
Reference in New Issue
Block a user