View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005028CMakeCMakepublic2007-05-13 11:462016-06-10 14:30
ReporterGuenter 
Assigned ToKitware Robot 
PrioritylowSeverityfeatureReproducibilityalways
StatusclosedResolutionmoved 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0005028: add support for NetWare target
DescriptionHi,
I'm very new to CMake (today); but I see more and more projects coming with CMake makefiles, and also I see a very wide range of compilers supported. Up to now I always have to create hand-tweaked GNU makefiles if I want to compile projects for NetWare as f.e. libgd; so I thought it might be worth asking you here for addding support for NetWare platform.
We have currently 3 compilers which can create NLMs (NetWare Loadable Modules):
Watcom, OpenWatcom (running on Win32)
MetroWerks CodeWarrior (running on Win32)
gcc / nlmconv (running on Win32, Linux)
for CodeWarrior / gcc I have created a standard Makefile which I mostly use to compile NLMs. Common to all of the above linkers is that they can deal with a *.def file which describes the further details of the final NLM (very similar to what Watcom also understands for other platforms).
Since I have no insight yet into CMake I lost with adding this platform without help of you folks here....
here's a sample to show my ugly makefiles:
http://www.gknw.net/development/samples/nlmconv/uname_patched.zip [^]
this is because it should support 2 different compilers, and two different hosts running on (Win32, Linux).
If someone is willing to help with adding NetWare platform please contact me!
Thanks!
TagsNo tags attached.
Attached Files? file icon NetWare.cmake [^] (2,656 bytes) 2007-08-23 14:33

 Relationships

  Notes
(0008556)
Alex Neundorf (developer)
2007-08-21 14:16

What is a NLM ?
I know more or less nothing about Netware, so please explain a bit more.
(0008578)
Guenter (reporter)
2007-08-22 07:19

Hi,
a NLM is the abbreviation for 'NetWare Loadable Module' and means nothing more than that it is the standard extension used for NetWare binaries, just like EXE on Win32.
NetWare builds are always kind of cross-builds, they are not build on NetWare itself because all the years there was no compiler available on NetWare, only recently we got a gcc port, but this is not maintained.
In order to support the NetWare platform we would need a definition file which the linkers understand in order to set some properties of the resulting NLM binary:
- version number
- copyright string
- description string
- imports
- exports
- start symbol
- exit symbol
- unloadcheck symbol
- linker flags
- autoload modules (dependencies)
if you have a Linux box handy then you can try our cross-gcc there with the sample I pointed to in previous post; but to see how it works its even sufficient if you just only let create the *.def file; just use the *.def target with GNU make, and you see what the *.def file contains....
Let me know how I can help more!

Günter.
(0008635)
Alex Neundorf (developer)
2007-08-23 16:20

You need cmake from cvs.
Please put the attached file into Modules/Platform/
It is a slightly modified copy of eCos.cmake, to make it work you will have to modify it more.
You have to set up cmake for cross compiling:
http://www.cmake.org/Wiki/CMake_Cross_Compiling [^]

Basically you have to create a toolchain file:
# this one is important
SET(CMAKE_SYSTEM_NAME NetWare)

# specify the cross compiler
SET(CMAKE_C_COMPILER ???)
SET(CMAKE_CXX_COMPILER ???)

# where is the target environment
SET(CMAKE_FIND_ROOT_PATH <where are Netware libs and headers?>)

# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
(0008711)
Alex Neundorf (developer)
2007-08-28 12:56

Do you need more help ?
(0009396)
Guenter (reporter)
2007-10-07 18:53

Sorry for the huge delay, but I was busy with another project.
As you can see the initial post was from May when I had some more time.
Anyway thanks that you are looking into this!
Meanwhile CMake 2.4.7 is out - is this sufficient now, or do I still need to build a version fron CVS?

thanks, Günter.
(0009745)
Alex Neundorf (developer)
2007-11-25 08:48

You still need cmake cvs for cross compiling.

Alex
(0020728)
Alex Neundorf (developer)
2010-05-12 16:37

Are you still interested in this ?

Alex
(0025749)
Alex Neundorf (developer)
2011-03-10 15:30

Setting this to backlog (or should it just be closed ?).
It seems nobody is interested in it.

Alex
(0041358)
Kitware Robot (administrator)
2016-06-10 14:27

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2007-08-21 14:16 Alex Neundorf Note Added: 0008556
2007-08-21 14:16 Alex Neundorf Assigned To Bill Hoffman => Alex Neundorf
2007-08-21 14:16 Alex Neundorf Category => Test Category
2007-08-21 14:16 Alex Neundorf Description Updated
2007-08-22 07:19 Guenter Note Added: 0008578
2007-08-23 14:33 Alex Neundorf File Added: NetWare.cmake
2007-08-23 16:20 Alex Neundorf Note Added: 0008635
2007-08-28 12:56 Alex Neundorf Note Added: 0008711
2007-10-07 18:53 Guenter Note Added: 0009396
2007-11-25 08:48 Alex Neundorf Note Added: 0009745
2010-05-12 16:37 Alex Neundorf Note Added: 0020728
2011-03-10 15:30 Alex Neundorf Note Added: 0025749
2011-03-10 15:30 Alex Neundorf Assigned To Alex Neundorf =>
2011-03-10 15:30 Alex Neundorf Status assigned => backlog
2016-06-10 14:27 Kitware Robot Note Added: 0041358
2016-06-10 14:27 Kitware Robot Status backlog => resolved
2016-06-10 14:27 Kitware Robot Resolution open => moved
2016-06-10 14:27 Kitware Robot Assigned To => Kitware Robot
2016-06-10 14:30 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team