diff --git a/Makefile.in b/Makefile.in index 50fe8a9..654e590 100644 --- a/Makefile.in +++ b/Makefile.in @@ -154,6 +154,7 @@ oxt: $(BINDIR)/Release/$(PACKAGE_NAME).oxt $(BINDIR)/Release/$(PACKAGE_NAME).oxt: @$(MAKE) -C src/loffice Release + @$(MKDIR) `dirname $@` @cp src/loffice/.bin/Release/$(PACKAGE_NAME).oxt $@ #---[ Debug targets ]---------------------------------------------------------- diff --git a/configure.ac b/configure.ac index 7e50f0c..6baa293 100644 --- a/configure.ac +++ b/configure.ac @@ -238,6 +238,7 @@ CC="$ac_save_cc"]) AC_MSG_RESULT($app_cv_fvisibility_ok) if test $app_cv_fvisibility_ok = yes; then CFLAGS="$CFLAGS -fvisibility=hidden" + OO_CXXFLAGS="$OO_CXXFLAGS -fvisibility=hidden" fi #--[ Options ]------------------------------------------------------------------------------------------------------------------------------------------------ @@ -273,6 +274,7 @@ AC_ARG_ENABLE([registry], if test "$app_cv_pic" == "yes"; then DLL_CFLAGS="$DLL_CFLAGS -fPIC" + OO_CXXFLAGS="-fPIC $OO_CXXFLAGS" fi AC_ARG_ENABLE([strip],[AS_HELP_STRING([--disable-strip], [disable stripping of binaries])], [ app_cv_strip="$enableval" ],[ app_cv_strip="yes" ]) @@ -481,6 +483,38 @@ if test "_$OO_SDK_URE_HOME" == "_" ; then fi fi +# Setup c++ compiler flags +if test -d "$prefix/include/libreoffice"; then + OO_CXXFLAGS="$OO_CXXFLAGS -I$prefix/include/libreoffice" + AC_MSG_NOTICE([Found libreoffice includes at $prefix/include/libreoffice]) +elif test -d "/usr/include/libreoffice"; then + OO_CXXFLAGS="$OO_CXXFLAGS -I/usr/include/libreoffice" + AC_MSG_NOTICE([Found libreoffice includes at /usr/include/libreoffice]) +elif test -d "$OO_SDK_HOME/include"; then + OO_CXXFLAGS="$OO_CXXFLAGS -I$OO_SDK_HOME/include" + AC_MSG_NOTICE([Found libreoffice includes at $OO_SDK_HOME/include]) +else + app_cv_office="no" + AC_MSG_NOTICE([Can't libreoffice includes]) +fi + +OO_CXXFLAGS="-DCPPU_ENV=gcc3 -Wno-strict-aliasing $OO_CXXFLAGS" + +# Test for IDL files +if test -d "$OO_SDK_HOME/idl"; then + IDLDIR="$OO_SDK_HOME/idl" + AC_MSG_NOTICE([Found idl at $IDLDIR]) +elif test -d "/usr/share/idl/libreoffice"; then + IDLDIR="/usr/share/idl/libreoffice" + AC_MSG_NOTICE([Found idl at $IDLDIR]) +elif test -d "$libdir/libreoffice/sdk/idl"; then + IDLDIR="$libdir/libreoffice/sdk/idl" + AC_MSG_NOTICE([Found idl at $IDLDIR]) +else + app_cv_office="no" + AC_MSG_NOTICE([Can't find idl path]) +fi + OO_SDK_URE_BIN_DIR=$OO_SDK_URE_HOME/bin OO_SDK_URE_LIB_DIR=$OO_SDK_URE_HOME/lib @@ -531,6 +565,8 @@ fi AC_SUBST(OFFICE_HOME) AC_SUBST(OO_SDK_HOME) AC_SUBST(OO_SDK_URE_HOME) +AC_SUBST(IDLDIR) +AC_SUBST(OO_CXXFLAGS) #--[ Pre-reqs ]----------------------------------------------------------------------------------------------------------------------------------------------- AC_SUBST(LIB3270_REQUIRES) diff --git a/pw3270.spec.in b/pw3270.spec.in index 457bd1a..eb0f281 100644 --- a/pw3270.spec.in +++ b/pw3270.spec.in @@ -45,7 +45,7 @@ %if %{?suse_version} >= 1310 %define _office 1 - %define _bldreq gtk3-devel libopenssl-devel ucpp + %define _bldreq gtk3-devel libopenssl-devel %endif %endif @@ -92,6 +92,7 @@ BuildRequires: dbus-1-glib-devel %if 0%{?_office} BuildRequires: libreoffice-sdk +BuildRequires: ucpp %endif BuildRequires: rsvg-view diff --git a/src/loffice/Makefile.in b/src/loffice/Makefile.in index 391fba2..05a1faf 100644 --- a/src/loffice/Makefile.in +++ b/src/loffice/Makefile.in @@ -72,11 +72,11 @@ BINDIR ?= .bin RDBDIR ?= .rdb URDDIR ?= .urd -OBJDBG=$(OBJDIR)/Debug -BINDBG=$(BINDIR)/Debug +OBJDBG ?= $(OBJDIR)/Debug +BINDBG ?= $(BINDIR)/Debug -OBJRLS=$(OBJDIR)/Release -BINRLS=$(BINDIR)/Release +OBJRLS ?= $(OBJDIR)/Release +BINRLS ?= $(BINDIR)/Release #---[ lib3270 common class ]--------------------------------------------------- @@ -87,11 +87,13 @@ include $(CLASSLIBDIR)/class.mak #---[ Build options ]---------------------------------------------------------- -CPPUENV="gcc3" - -CXXFLAGS=@CXXFLAGS@ -fvisibility=hidden @DLL_CFLAGS@ -Wno-strict-aliasing \ - -I../include -I./include -I$(includedir)/libreoffice \ - -DCPPU_ENV=$(CPPUENV) -DLANGUAGE_BINDING_NAME=\"$(CPPUENV)\" +CXXFLAGS=@CXXFLAGS@ @OO_CXXFLAGS@ -I../include -I./include -DLANGUAGE_BINDING_NAME=\"gcc3\" +# +#CPPUENV="gcc3" +#CXXFLAGS=@CXXFLAGS@ -fvisibility=hidden @DLL_CFLAGS@ -Wno-strict-aliasing \ +# -I../include -I./include -I$(includedir)/libreoffice \ +# -DCPPU_ENV=$(CPPUENV) -DLANGUAGE_BINDING_NAME=\"$(CPPUENV)\" +# OO_LDFLAGS=-L$(OO_SDK_HOME)/lib -L$(OO_SDK_URE_HOME)/lib \ -Wl,-rpath-link=$(OO_SDK_URE_HOME)/lib,-rpath=$(OO_SDK_URE_HOME)/lib \ @@ -104,7 +106,7 @@ $(URDDIR)/%.urd: %.idl @$(MKDIR) `dirname $@` @$(IDLC) -w -C -I$(OO_SDK_HOME)/idl -O`dirname $@` $< -$(URDDIR)/%.urd: /usr/share/idl/libreoffice/%.idl +$(URDDIR)/%.urd: @IDLDIR@/%.idl @echo " IDLC `basename $@`" @$(MKDIR) `dirname $@` @$(IDLC) -w -C -I$(OO_SDK_HOME)/idl -O`dirname $@` $< @@ -120,15 +122,17 @@ include/%.hpp: $(RDBDIR)/%.rdb @$(CPPUMAKER) -O./include $(TYPES_RDB) $< $(OBJDBG)/%.o: %.cc include/$(PACKAGE_NAME)/lib3270.hpp \ - $(foreach CLS, $(UNO_CLASSES), include/$(CLS).hpp) \ - *.hpp Makefile + $(foreach CLS, $(UNO_CLASSES), include/$(CLS).hpp) \ + globals.hpp \ + Makefile @echo " CC `basename $@`" @mkdir -p `dirname $@` @$(CXX) -DDEBUG=1 $(CXXFLAGS) -o $@ -c $< $(OBJRLS)/%.o: %.cc include/$(PACKAGE_NAME)/lib3270.hpp \ - $(foreach CLS, $(UNO_CLASSES), include/$(CLS).hpp) \ - *.hpp Makefile + $(foreach CLS, $(UNO_CLASSES), include/$(CLS).hpp) \ + globals.hpp \ + Makefile @echo " CC `basename $@`" @mkdir -p `dirname $@` @$(CXX) -DNDEBUG=1 $(CXXFLAGS) -o $@ -c $< @@ -142,7 +146,10 @@ include/$(PACKAGE_NAME)/lib3270.hpp: $(RDBDIR)/$(PACKAGE_NAME).rdb #---[ Release targets ]-------------------------------------------------------- -Release: $(BINDIR)/$(PACKAGE_NAME).oxt +Release: include/$(PACKAGE_NAME)/lib3270.hpp \ + $(foreach CLS, $(UNO_CLASSES), include/$(CLS).hpp) \ + $(RDBDIR)/$(PACKAGE_NAME).rdb \ + $(BINDIR)/$(PACKAGE_NAME).oxt install: $(BINRLS)/$(PACKAGE_NAME).uno@DLLEXT@ \ $(RDBDIR)/$(PACKAGE_NAME).rdb \ diff --git a/src/loffice/globals.hpp b/src/loffice/globals.hpp index 2d74476..c6a07cc 100644 --- a/src/loffice/globals.hpp +++ b/src/loffice/globals.hpp @@ -129,7 +129,7 @@ virtual ::sal_Int16 SAL_CALL pfkey( ::sal_Int16 key ) throw (::com::sun::star::uno::RuntimeException); virtual ::sal_Int16 SAL_CALL pakey( ::sal_Int16 key ) throw (::com::sun::star::uno::RuntimeException); virtual ::sal_Int16 SAL_CALL quit() throw (::com::sun::star::uno::RuntimeException); - virtual ::sal_Int16 SAL_CALL erase_eof() throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Int16 SAL_CALL eraseEOF() throw (::com::sun::star::uno::RuntimeException); // Cursor virtual ::sal_Int32 SAL_CALL setCursorAt( ::sal_Int16 row, ::sal_Int16 col ) throw (::com::sun::star::uno::RuntimeException); diff --git a/src/loffice/init.cc b/src/loffice/init.cc index 50c8c76..4a171fd 100644 --- a/src/loffice/init.cc +++ b/src/loffice/init.cc @@ -56,6 +56,7 @@ session_impl::~session_impl() // XInitialization implementation void session_impl::initialize( Sequence< Any > const & args ) throw (Exception) { + /* if (1 != args.getLength()) { throw lang::IllegalArgumentException( @@ -63,10 +64,16 @@ void session_impl::initialize( Sequence< Any > const & args ) throw (Exception) (::cppu::OWeakObject *)this, 0 ); } + */ - // Initialize + trace("%s args=%d",__FUNCTION__,(int) args.getLength()); - // TODO: Get arguments. + // Process arguments + for(int f = 0; f < args.getLength();f++) + { + trace("Arg(%d) is %s",f,args[f].getValueType().getTypeName().getStr()); + + } } diff --git a/src/loffice/pw3270.idl b/src/loffice/pw3270.idl index 79ad6dc..b0ec424 100644 --- a/src/loffice/pw3270.idl +++ b/src/loffice/pw3270.idl @@ -74,7 +74,7 @@ module pw3270 // Misc actions short quit(); - short erase_eof(); + short eraseEOF(); // Misc Settings short setSessionName([in] string name); diff --git a/src/loffice/set.cc b/src/loffice/set.cc index 3348130..7f8e36c 100644 --- a/src/loffice/set.cc +++ b/src/loffice/set.cc @@ -226,7 +226,7 @@ } - ::sal_Int16 SAL_CALL session_impl::erase_eof() throw (::com::sun::star::uno::RuntimeException) + ::sal_Int16 SAL_CALL session_impl::eraseEOF() throw (::com::sun::star::uno::RuntimeException) { try { diff --git a/src/loffice/testmacros.odt b/src/loffice/testmacros.odt index 754ee72..5e4c238 100644 Binary files a/src/loffice/testmacros.odt and b/src/loffice/testmacros.odt differ diff --git a/src/plugins/rx3270/Makefile.in b/src/plugins/rx3270/Makefile.in index 90b91b7..d1b54a2 100644 --- a/src/plugins/rx3270/Makefile.in +++ b/src/plugins/rx3270/Makefile.in @@ -70,7 +70,7 @@ $(BINRLS)/$(PLUGIN_NAME): $(foreach SRC, $(basename $(PLUGIN_SRC)), $(OBJRLS)/$( $(BINRLS)$(DLL_NAME).$(VERSION): $(foreach SRC, $(basename $(EXTAPI_SRC)), $(OBJRLS)/$(SRC).o) $(CLASS_RELEASE_OBJECTS) @echo " CCLD `basename $@`" @$(MKDIR) `dirname $@` - $(CXX) $(DLL_FLAGS) @LDSOFLAGS@ $(LDFLAGS) @RLS_LDFLAGS@ -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(CLASS_LIBS) + @$(CXX) $(DLL_FLAGS) @LDSOFLAGS@ $(LDFLAGS) @RLS_LDFLAGS@ -o $@ $^ $(LIBS) $(LIB3270_LIBS) $(CLASS_LIBS) install: @$(MKDIR) $(DESTDIR)$(libdir)/$(PACKAGE_NAME)-plugin -- libgit2 0.21.2