>>>> "Dhruva" == Dhruva Krishnamurthy
<seagull(a)fastmail.fm> writes:
Dhruva> Hi,
Dhruva> I resolved all build errors. I do not have a CVS account
Dhruva> nor do I know how to send a DIFF in a proper format. I
See
C-h B (describe-beta)
and
http://www.xemacs.org/Develop/index.html
Patcher is documented here:
http://www.xemacs.org/Documentation/packages/html/patcher.html
Best regards,
Adrian
Dhruva> have made changes to the files mentioned by Harris to fix
Dhruva> all build issues on NT. The "xemacs.mak" also needed some
Dhruva> modification to make it work.
Dhruva> Changes to 3 files in src:
Dhruva> 1. Applied the patch sent by Harries.
Dhruva> 2. Remove or correct few other Win32 API calls not supported on NT.
Dhruva> Changes in xemacs.mak:
Dhruva> 1. Removed -ZI option for debug mode - For some reason it is not
Dhruva> recognised. However, the compiler option says it is supported. This fix
Dhruva> was made to just build XEMACS.
Dhruva> 2. Changed options to "XCOPY" from /y to /r ( I had reported
this
Dhruva> problem long back and Andy had added this option as a comment ). For a
Dhruva> newbie, I guess this flag should get set by checking the OS type and
Dhruva> not expect him/her to modify the make files.
Dhruva> 3. @type construct in xemacs.mak is not recognised by VC++6.0. This was
Dhruva> used in the xemacs.mak to generate the config options file. I had to
Dhruva> remove everything under "installation::" construct. I made this
to
Dhruva> build xemacs. I know it is not a solution but mere avoidance.
Dhruva> I am sending an attachment, I am sorry if I am flooding your mail
Dhruva> boxes. Kindly bear with me.
Dhruva> with best regards,
Dhruva> dhruva
Dhruva> Note: Building with MinGW on windows is an back breaking job. I
Dhruva> modified a lot of files to get the configure going. Unknowing I
Dhruva> overwrote the same folder trying to resolve the build with MSVC++ 6.0.
Dhruva> I will come up with MinGW related issues shortly.
Dhruva> On Fri, 5 Jul 2002 06:27:47 +0000, "Dhruva Krishnamurthy"
Dhruva> <seagull(a)fastmail.fm> said:
> Hi,
> With your path, I got over that error. Now it is the case with
> "SHInvokePrinterCommandW", "SHEmptyRecycleBinW",
"SHQueryRecycleBinW".
> I feel there are lot of problems with Win32API portability. We shoudl
> be more carefull before using those.
> I have a suggestion. In the make or configure we should find out
> whether those API's are available on the OS. We can have a executable
> which will take the function name and DLL name and return TRUE or FALSE
> based on whether it is present in the DLL or not. Using this info,
> generate the related files (intl-*-encap-win32.*). I am in the process
> of weeding out the unsupported methods. Will get back later if I have
> more. The whole process is slow as I have to do a make clean after each
> modification and make again to reflect my changes.
>
> with regards,
> dhruva
>
> On 04 Jul 2002 21:41:24 +0100, "Jonathan Harris"
<jhar(a)tardis.ed.ac.uk>
> said:
> >
> > Dhruva Krishnamurthy wrote:
> > > I am trying to build XEmacs 21.5.7 on NT 4 SP5 using MSVC++6.0.
> > > I had mailed earlier about the error I get in accessing
> > > "GetLongPathNameW".
> > ...
> > > 3. For NT, there is a suggested work around (which I guess Andy knows).
> > > If not, please refer the URL:
> > >
http://www.geocities.com/SiliconValley/2060/articles/longpaths.html
> >
> > GetLongPathNameW is unused in XEmacs. I don't have NT 4.0 around to
> > test,
> > but this simple patch should fix the problem.
> >
> > There is a function mswindows-long-file-name that looks like it already
> > uses
> > a similar algorithm to your suggested workaround.
> >
> > Unfortunately I can't commit this myself, since I'm currently getting:
> > ...
> > cvs commit: Examining tests/mule
> > cvs commit: Examining tests/tooltalk
> > ' from cvs serverng: unrecognized response `ok
> >
> > from the CVS server.
> >
> >
> > src/ChangeLog addition:
> >
> > 2002-07-04 Jonathan Harris <jonathan(a)xemacs.org>
> >
> > * intl-auto-encap-win32.c:
> > * intl-auto-encap-win32.h:
> > * intl-encap-win32.c:
> > Remove GetLongPathNameW - API not available on Win95/NT4
> >
> > xemacs-21.5 source patch:
> > Diff command: cvs -q diff -u
> > Files affected: src/intl-encap-win32.c src/intl-auto-encap-win32.h
> > src/intl-auto-encap-win32.c
> >
> > Index: src/intl-auto-encap-win32.c
> > ===================================================================
> > RCS file: /pack/xemacscvs/XEmacs/xemacs/src/intl-auto-encap-win32.c,v
> > retrieving revision 1.6
> > diff -u -u -r1.6 intl-auto-encap-win32.c
> > --- src/intl-auto-encap-win32.c 2002/05/06 14:15:41 1.6
> > +++ src/intl-auto-encap-win32.c 2002/07/04 19:33:24
> > @@ -2578,14 +2578,7 @@
> > return GetShortPathNameA ((LPCSTR) lpszLongPath, (LPSTR)
> > lpszShortPath, cchBuffer);
> > }
> >
> > -DWORD
> > -qxeGetLongPathName (const Extbyte * lpszShortPath, Extbyte *
> > lpszLongPath, DWORD cchBuffer)
> > -{
> > - if (XEUNICODE_P)
> > - return GetLongPathNameW ((LPCWSTR) lpszShortPath, (LPWSTR)
> > lpszLongPath, cchBuffer);
> > - else
> > - return GetLongPathNameA ((LPCSTR) lpszShortPath, (LPSTR)
> > lpszLongPath, cchBuffer);
> > -}
> > +/* Error if GetLongPathName used: Win98/2K+ only */
> >
> > /* Skipping GetEnvironmentStrings because misnamed ANSI version of the
> > function */
> >
> > Index: src/intl-auto-encap-win32.h
> > ===================================================================
> > RCS file: /pack/xemacscvs/XEmacs/xemacs/src/intl-auto-encap-win32.h,v
> > retrieving revision 1.6
> > diff -u -u -r1.6 intl-auto-encap-win32.h
> > --- src/intl-auto-encap-win32.h 2002/05/06 14:15:43 1.6
> > +++ src/intl-auto-encap-win32.h 2002/07/04 19:33:24
> > @@ -1829,11 +1829,8 @@
> > #endif
> > DWORD qxeGetShortPathName (const Extbyte * lpszLongPath, Extbyte *
> > lpszShortPath, DWORD cchBuffer);
> >
> > -#ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
> > #undef GetLongPathName
> > -#define GetLongPathName error use qxeGetLongPathName or
> > GetLongPathNameA/GetLongPathNameW
> > -#endif
> > -DWORD qxeGetLongPathName (const Extbyte * lpszShortPath, Extbyte *
> > lpszLongPath, DWORD cchBuffer);
> > +#define GetLongPathName error Win98/2K+ only
> >
> > /* Skipping GetEnvironmentStrings because misnamed ANSI version of the
> > function */
> >
> > Index: src/intl-encap-win32.c
> > ===================================================================
> > RCS file: /pack/xemacscvs/XEmacs/xemacs/src/intl-encap-win32.c,v
> > retrieving revision 1.7
> > diff -u -u -r1.7 intl-encap-win32.c
> > --- src/intl-encap-win32.c 2002/06/20 21:18:36 1.7
> > +++ src/intl-encap-win32.c 2002/07/04 19:33:25
> > @@ -216,7 +216,7 @@
> >
> > yes GetBinaryType
> > yes GetShortPathName
> > -yes GetLongPathName
> > +no GetLongPathName Win98/2K+ only
> > skip GetEnvironmentStrings misnamed ANSI version of the function
> > yes FreeEnvironmentStrings
> > yes FormatMessage
> >
> >
>
> --
> Dhruva Krishnamurthy
> Home:
http://www.geocities.com/gnued/ Dhruva> --
Dhruva> Dhruva Krishnamurthy
Dhruva> Home:
http://www.geocities.com/gnued/
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/