www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/12/06/12:50:28

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <000c01c05f8c$0b61e8c0$04288cd4@emerald>
From: "Steven O'Brien" <steven_obrien AT lineone DOT net>
To: <cygwin AT cygwin DOT com>
Subject: cygncurses++5.dll [WAS Re: building dlls, C and C++]
Date: Wed, 6 Dec 2000 13:52:42 -0000
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2615.200
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200

------=_NextPart_000_0009_01C05F8B.CE0FAAC0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

The only outstanding issue from my previous mail on ncurses++ is the need to
invent a main() function in the dll build which was not needed in the static
build.

The c++ sources include a default main() (in c++/cursesmain.cc) which is
linked into the static lib and therefore picked up by a static link, so no
need for the application writer to provide one.

However, when the main() is put into a DLL, the linker can no longer find it
when building an exe - hence the link error about WinMain AT 16. Modifying
c++/Makefile so that c++/cursesmain.o is ommited fro the dll, but then added
to the import library with ar, means that the shared build now works without
an application main() just like the static build.

As far as I can tell, the runtime behaviour of c++/demo.exe is now identical
whether linked shared or static. I attach a patch which includes all the
mods I made doing these trials. It replaces
CYGWIN-PATCHES/ncurses-5.2-c++-dll.patch. So to build ncurses, using dynamic
linking, from the cygwin sources:

tar zxvf ncurses-5.2-2-src.tar.gz
cd ncurses-5.2
export CFLAGS=-DNCURSES_DLL
export CXXFLAGS=$CFLAGS
 ./configure --enable-symlinks --enable-sigwinch --enable-colorfgbg   \
                    --enable-tcap-names --with-manpage-symlinks --without-de
bug   \
                    --with-normal --disable-termcap --prefix=/usr  \
                    --with-default-terminfo-dir=/usr/share/terminfo   \
                    --enable-echo --with-manpage-symlinks
patch -p1 < CYGWIN-PATCHES/ncurses-5.2-2-dll.patch
patch -p1 < ncurses-5.2-c++-dll-2.patch
make

In the above, replace "ncurses-5.2-c++-dll-2.patch" with the path where you
have placed (and unzipped) the attached patch file.

Steve


------=_NextPart_000_0009_01C05F8B.CE0FAAC0
Content-Type: application/x-gzip;
	name="ncurses-5.2-c++-dll-2.patch.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="ncurses-5.2-c++-dll-2.patch.gz"

H4sICGQ5LjoCA25jdXJzZXMtNS4yLWMrKy1kbGwtMi5wYXRjaACtWntz2kgS/xs+RV/FdQEL8bKN
bVy+NbFJwgYbF5B1tipVKiGNsDZC4vQw5lL57tc9M0JCCHCcuGIL9fT8pqffM8S0LQvUCFwj8gMW
qCfVZtXz7WnNUJTarf6NWbbD0qNq6C+P1kaLqqrunl94YCbcMAOgBY2jdh3/HUOzXq8XFUXZDb42
tdluttrNuph6dQXq8Wml0QSFHsdwdVWEuY+znguFS6hFgV8E9swMTRIv4eC7+PijCI49MW2/wIkp
ph81HCgqE9vNH8WBItiu4UQmI44UZk2Si1CEfu/deDDoEwC99u5G406fvxICcgah7jigGqsx7aYz
7nA4SfgB6gxax8dFJea4Hw4+bHCcnpzQCp0hges+fdIG9+MRvfpPXElnZ5UWKOf1SqPBdYTC3XVu
u9rdYHjb6SMfbvmghNThYDAuV/UVRyFvDOW5vUfC5qDpOMigjD52ht0b4rgEYzlNGA5KnXc97a/u
cNQb3HH2mPmm+34TjVlFhd46w153hMPVKtmmdlBaLVBOaEKmclEh4e8+ae/7nQ80CdS+4MEPByVh
9DKoTrKQMBdOiW22bdJqLamdMlduo9GonILSaJzhg7RbKLDQnlcfCZds/LWo4rQA2u1CATXweTzQ
RsPrPDgll09IypVQjjGJx2Qz7+AZKVyKJlr3BMVoYiSccTnewLvIdkzQwfDcJ+aGtufqDinZ1/0l
WJ4P0g1td1qBAL2XIXPwqPsYcTHbwosck8DmEa5ru3x5z4LwcZUUJK+Nn0pz3WVOBWbMjSq0xKwS
c5VBDwD1yIyQ4Ew2Z67JXAOnVYsqblEbvPtzBJeoL+UGnX31BqiN28FNt1+uCSSr6uWRZ/nkRT55
rptbBvLIgfONk9Ustz6f5w/MdNutekUlfwK6qYIhPO5dx/vcMp1HQMITK4a8IjWf+0XWn2R4l6Et
XCjmJOcaEoBMFPjxCg7+EG50dC7c6Pi80jyW7qz6cz18xAlJHuq+730pJ5HxlbM9MT9AH1Nt1/KQ
++7683DUHWm3nT8Hw3I7ReihZCSy8pKIzoivFLA4gCq9VH1wKqrKXH3iMFWPQk+1Z/qUqRM9YORI
BcHgRSEOzBH3cgN+jWuOjJh3LjOCYXpKM7Lnuecj49LVZ7YhBrzc9PSVO0BitSSvOBQc+KBIwQeP
G3zKYMFpuo/pe1MbGbtjuqMP2k33dpD2IkoO6D/oFhkSV2fgG2Q3QTIM6e8yurRHWkW6YfoFXRdf
CVOknjbOWS1e5kGwkdMgTcZf2nVVh4RA+18jcE2sUaROkIZQ3BnuPqEqPe63aQlw6IbnfXx/3/nc
H5e5+lEWkT25OTKy8JqVlSdLFDJlqbFcgi6XerloqEdRKEiPsUUEpYp5NkUz7VAzrGk1wJpSMOaQ
y34lAvikVTnH+D09oTim+EX3647GN71hKl7b3N4xCO5o9k2WAiQEhIXbSU8U7RBNVPZMVIpxVSHL
y49VKmzt9mbJy5OO51JZi8tJ1im/bPZaPc0sn6eKvF2uVVylcMWMRy9VKzeDEitbviirrqSQZE/q
88p5gb0bYLsUqXyTEURuaI1nTRbqKMu5SHth0H0jNzF18iK1zd2xeU5dkXLUPFo1R+uJ5usaabZJ
kklHLRgmyelN/sEGIriANRe5/vKFP0SExXVPNWgGnSVknqPi8fMon+O6hWk8BxPWQyw5GrwkzMxd
h6+kYXjMPyKlGLYfwVJM2VMYnab2nMK2zW62G432USt1EGuJgxh/kKUBfsCoj1217X67oHOZ/aSH
rE0DqIIQ66bthuDbrh1iZ8CXeUA/8xb/hkX5Amo16Lkh86ll7SEPWJFrUAvLG9fQDunYuYKSAJ05
1nhDJ7ZD6lDx/QII6oPjTRAIz2lVCD3evOoJb1EBiI2MAdf9cv+bcCElYqyLQ8BmUkOigWrZunAu
N5AavRBdl5ntzd0L9R0K5YgXIeUYxRoTEQQVSrYFurss7934KyCBLDzxPAcm2rXneD6GWe4PWThA
ldkBP6IgZ1p3fxBMRoqh54XaSooEZkwYdsDVH4RmYPjA/hvZT9WXxJe1O7qs/bFl/UJkWfvi6rR1
ThlUPMQFRxJIuPf3pDbMwNe4Dnautotgls0cM1zO8UC2wFMaQ5LnOkv8w2DKXOajgR1v4bAn5sQw
vW7/Zvz3ffcQmMOwCQqrKQdLjcr52mqNHU68e9q6N6csiZ09N2Uc8QHGF5qT+v3Jko+g8MClB9nG
BQmzuPGon5DWxOMVWrPxvIPl1jbSUmR1KbGyGv0FXWq0sCYW3qHXn8CA36hYgYRpzsC30I+MEAN3
tW6+0l4UgnsK3AvK268Ut72l7aRJvsT/kisZjh4EWcvITHXPj3FtmEcTJ5tF4XvW4e87d90+HM4v
NnO5ADo0o9lsebE3Ta9zw4a7c+sLk0XoA/gSBeTxVEnR6vx485YTfTD1UFqVTI2d5jfieYkZF7vN
uNhvxsUvmHGxz4ytsxbZUTxEh2L5NnPNlUU5DqaG2QUNprSYmIcXNipwGjUutu7Y/2PmDgNt4U+a
oCfPNokhGS6VLzJNEv349tyzLI5Seujd3Qwe4LCCg8QstnfOU554iO0Fj54fJgV3ykJeZkuEiS8T
bCrKIphlosisGbBwrjssDFlJQKHDsIqEpdnx57mODW7ai2MEvl7vRZraPmUth0mbJDmIrjEDkZO5
U5uRT6cj8uuVTmU3xlE8CzMVxWMgcieC8fQnFIz+jgYAA4sD5i5egEUpOa0neo1tJn+Y72uPums6
zC9xsTAL6j4cSt3C+ONw8DCKm9zus8HmJI8wM0o0sqfU5eouIeF2eCIl+af2E3NhxoJAn2LmZs9Y
SNItpePhRg0vcsOLVDfECbRNKnA6puEnFu+4vV39r8ASLAAPDOsIL4lcarqfwzw3swOqNnq44uM3
x8jhL2iIzosrI694pDQiIp90XxQtdERKRvX9WYguandkIT68Owtxlldmoc25G1no7KjSqGNnwh/x
OamvT5ij9fWlF4Xr+Ttj7Izt1u2VmO0umk0wlaPdPrEljFgYpIDSi2UB+ZW9LiERSHLJ+/4cMB61
GRA3mmkOLZLu/BOpBpYQIaBvE9KQPFdmsCaaHoY8HVzkHSA66BzEYE+ikAWQ9qif8fSdmtsKtKbI
tOJ2aG5n+stV3F7NKavj1mtVxYsdwMizQk1sisAP6eSp+76+vEgftRCFaLQzPKS+xbZwd1TGd8y5
QRNfomyNSMnwinjMm7l5a0H3FZjd6dni4Vir0S+ov+uHI6pv8HT8L3nQKGna9d8fsIZrGr+/lw4w
ZkGYumdAmWceltQ3aG6GD+wQrPiosvomRXwVUC6qezCwRnEUcjL6ZqmEU75TyMHGlEM+CS7xqLPI
DpZEjQfOov7HjxKKz7CzdKGOrz/Egi56BYnPn8puH0musXNNuRre7icrlld4Sv7cZvvouF1P+cpR
i/6PgXIUewra1EWDgNYd9+61j0gQ5kkIRRU9iW4NTY8F7tsQFp5PPZOHpXChLwNpT1g3J/cWAk7d
O3KVRu4mNVazlGUDCbauIWcWZVQHTFTaaBKEdhhRU6SH1MBY9hTPDLUJ/y45tGcs2fnHzl9d7d3n
Xn+MzpxSwDody/b/AWFhhPBkIgAA


------=_NextPart_000_0009_01C05F8B.CE0FAAC0
Content-Type: text/plain; charset=us-ascii

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
------=_NextPart_000_0009_01C05F8B.CE0FAAC0--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019