-
Notifications
You must be signed in to change notification settings - Fork 0
A multi platform framework with prototyping and database capabilities
License
Unknown and 4 other licenses found
Licenses found
Unknown
license.txt
Unknown
COPYING
Unknown
license-bindist.txt
Unknown
license-doc.txt
Unknown
license-templatedist.txt
lollisoft/lbdmf
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
DMF - Distributed Multiplatform Framework Copyright (C) Lothar Behrens 2000-2025 This framework was intented to be independend from compiler and vendor frameworks like MFC or Watcom class libraries. Multiplatform stays currently for Windows and Linux. More OS systems are welcome, but I am unable to test it. The part Distributed is currently not integrated, because of my complete rewrite of my work to use COM like dynamic loading of classes. The part of distributed may be implemented with a CORBA compilant system and a wrapper class that is configured local in my system. Generally I write a pure abstract class (interface) and a corresponding cpp file implementing the interface. Loading instances from interfaces is dony by a name of the interface - the identifer of that class it self. The object repository uses a XML file that configures, which implementation is used in the current environment. Please pay attention of the different mangling on each platform. On linux, modify the xml file so that the functor has no prefix (_). Each interface like lb_I_Container for a container is configured pointing to a module (DLL/so) and a functor, that creates the instance. There is one main tool that helps me to build the source code on all platforms. The tool is mkmk. It enables me to define a directory or more with a bunch of files to add into a makefile that it basically writes in some parts. On Windows I currently provide a precompiled version. On other platforms it will be build at the very beginning. Hint: The mkmk tool was orginally written by Luis Crespo. His publication is at: http://www.cubic.org/~submissive/sourcerer/mkmk.htm Development started at 05.03.2000 according to the checkins I have tried to preserve while creating a migration from CVS to GitHub. See the following link where it started: https://github.com/lollisoft/lbdmf/commits?since=1999-01-01&until=2001-12-31&after=6a40475cb952e5540f858869a3ea657a8a800a5a+209 First commit was at https://github.com/lollisoft/lbdmf/commit/03d12150d4abcf8af7daaf8a0545bb9298308d45 Requirements: Typically the installation is on drive C: Windows: ******** I work primarily with MinGW C++ compiler on Windows. There is a part of the project that can compile with the Watcom 11 compiler and most probably with the current Open Watcom compiler. The Microsoft Visual C++ compiler is mostly not tested at the current and most older releases. Therefore you need to stick to MinGW or - for some networking part of code you may use Watcom compiler and the corresponding watcom project file at the root folder (lbdmf.wpj). You most easily can download the source code setup executable. It has an option to pull prerequisites like the MinGW compiler and wxWidgets. Basically the source code installer therefore pulls the binary build tools in vc version precompiled, the 7Z tool to unpack the MinGW zip archive (either the 32Bit or 64Bit version) depending on which checkbox you tick. It also loads the wxWidgets 3.2.2.0 code installer and starts building that library. After building that, it installs the dll's to the expected place within the source code location. If you have let the installer build wxWidgets, or you had that done in a prior version and the wxWidgets library is at least somewhere with in 3.x you could start opening my main 'IDE'. The plain command prompt with the lbDMF Develop icon and type make. I have tested the 3.2.2.0 version. The mkmk tool will actually be delivered as binary installer. The main src installer can pull that tool as a pre requisite if the corresponding build wxWidgets checkbox is ticked. If you want to build the complete code including mkmk, you need to go to the vendor folder where the mkmk tool has it's code folder and therein is a msvc project. The msvc project is in vendor/mkmk/mkmk/mkmk.dsw, The other folder named vcprj is probably a prior trial. But that manual approach is not well tested, as the binary tools also contains some tools needed while building the code. Post installation: The most convienient way to get started is the source code installer and tick either building wxWidgets with MinGW32 or MinGW64. It does all prerequisite installations and build wxWidgets. Actually I primarly use SqLite and neglected the ODBC and SQL Server or SQL Anywhere stuff. Using that will require again some testing and work to get things up to date. Post setup: If you start the lbDMF Develop link on the desktop, you get opened a text file with a hint text. This is somewhat old and you can ignore that and close the text editor if you have installed the source code to the default location C:\lbDMF. Restart the lbDMF Develop console and start building using the make command. If the build has been succeeded, you type make install and then type wxWrapper. These are therefore your commands to get the application building and started: make make install wxWrapper These are the commands to clean and remake (needed in some cases instead of a plain make): make distclean make clean make make install wxWrapper Linux: ****** Prerequisites: The complete build has been tested on a 64Bit OpenSuSE Tumbleweed installation. You need a compiler. I have installed gcc-c++-14-2.2.x86_64 You need wxWidgets. I have installed wxGTK3-3_2-devel-3.2.6-2.3.x86_64 You need XSLT. I have installed libxslt-devel-1.1.42-1.1.x86_64 You need flex. I have installed it via zypper install flex You need bison. I have installed it via zypper install bison Then you need git. I have installed git-core-2.48.1-1.1.x86_64 I need cvs as I do a migration path. You will need git to pull from my github repository. So going with four commands on openSuSE you would get most of it fast: sudo zypper install gcc-c++ flex bison wxGTK3-3_2-devel make git-core unixODBC unixODBC-devel libxslt-devel mkdir -p develop/Projects cd develop/Projects/ git clone https://github.com/lollisoft/lbdmf.git Then you could do: cd lbdmf/BaseDevelopment make You need some basic .bashrc settings to get started to build the source code from the source repositoy. Here is my setup that generally seems to work on openSuSE Tumbleweed: CVS_RSH=ssh MODULELIB=lbModule.so LBXMLFUNCTOR=getlbDOMConfigInstance LBMODULEFUNCTOR=getlb_ModuleInstance DEVROOT=~/develop LD_LIBRARY_PATH=~/lib: PLUGIN_DIR=~/plugins OSTYPE=linux PATH="/usr/local/bin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:~/bin:$HOME/bin:/usr/local/bin:/usr/brlcad/bin:/opt/local/bin" # On older OSX # #DEVELOPER_TOOLS_PATH=/Developer/Tools # #export DEVELOPER_TOOLS_PATH # # On newer OSX OSVERSION=`uname -r` export OSVERSION OSPLATFORM=`uname -p` export OSPLATFORM export CVS_RSH export MODULELIB export LBXMLFUNCTOR export LBMODULEFUNCTOR export DEVROOT export LD_LIBRARY_PATH export OSTYPE export PATH export PLUGIN_DIR REPO_NAME=lbdmf export REPO_NAME Mac OS X: ********* TBD
About
A multi platform framework with prototyping and database capabilities
Topics
Resources
License
Unknown and 4 other licenses found
Licenses found
Unknown
license.txt
Unknown
COPYING
Unknown
license-bindist.txt
Unknown
license-doc.txt
Unknown
license-templatedist.txt
Stars
Watchers
Forks
Packages 0
No packages published