Commit Graph

18 Commits

Author SHA1 Message Date
Ryan Prichard
dcb2df4a4e ship.py: build packages using cygwin/msys2 prebuilts 2018-10-14 22:43:03 -07:00
Ryan Prichard
67a34b6c03 Build system: redo how version number tracking works
* Remove the "version suffix" and BUILD_INFO.txt mechanisms, which I
   believe no one uses except winpty itself.  Instead, a suffix can be
   added in the VERSION.txt file.

 * Instead of passing the version and commit info as a preprocessor macro
   when building every C++ file, write the info into a GenVersion.h
   header that is only included by WinptyVersion.cc.

 * Instead of writing a BUILD_INFO.txt in ship.py, pass COMMIT_HASH=<hash>
   to make.

These changes accomplish two things:

 * People who build a tag from source won't see a "<ver>-dev" suffix
   anymore.

 * Changing the version or the commit will correctly rebuild the version
   object files (and only those object files).  It will also relink every
   binary.

Fixes https://github.com/rprichard/winpty/issues/72
2017-01-17 23:39:14 -06:00
Ryan Prichard
e0cbe70600 Add a script specifically for building pty4j's libpty hierarchy. 2016-06-01 23:31:48 -05:00
Ryan Prichard
3539b806e9 Build/package winpty for embedding using gyp and MSVC 2016-06-01 20:01:37 -05:00
Ryan Prichard
2ae966521e gyp improvements:
* Add a src/configurations.gypi file that can be included on the gyp
   command-line to enable 32-bit and 64-bit builds in the generated project
   files.

 * Make winpty.gyp work if gyp is run with Cygwin python.  It still works
   with normal python.
2015-12-29 18:33:55 -06:00
Ryan Prichard
bf7b3c328a Add a script for creating binary winpty releases. 2015-11-07 21:19:09 -06:00
Ryan Prichard
52b11bfba9 Convert the makefiles from recursive to non-recursive
* This change reduces the total build time from about 14 seconds to about
   9 seconds on my computer.

Also:

 * Consolidate all the intermediate files into the build directory to
   reduces clutter.

 * Allow specifying UNIX_ADAPTER_EXE to make.  Perhaps this will be helpful
   to the MSYS2 fork, which renames console.exe to winpty.exe.  (I like
   the renaming, but I don't know about the other winpty users.  Maybe
   I'll make the change after I've put out another stable release...)

 * Rename the WINPTY define to COMPILING_WINPTY_DLL define.  The longer
   name is clearer.  I define the macro inside libwinpty/winpty.cc, so the
   build system no longer needs to.  (I removed the define from
   winpty.gyp.)

 * Consolidate config-unix.mk and config-mingw.mk into config.mk.  The
   separation was previously necessary because each file had a conflicting
   definition of CXX.

 * Rename the UNIX_LDFLAGS_STATIC_LIBSTDCXX macro to UNIX_LDFLAGS_STATIC,
   because libstdc++ isn't the only thing I'm linking statically.
2015-11-06 22:08:24 -06:00
Ryan Prichard
4a31202c9a Ignore GCC precompiled output 2015-10-22 17:32:45 -05:00
Ryan Prichard
91ccab1443 Add a gyp project that can build winpty-agent and libwinpty.dll with MSVC.
Peter Rekdal submitted the original version of this file.  I made some
minor changes.

Update the .gitignore file to ignore files generated by building winpty
with MSVC.
2012-12-20 04:20:09 -08:00
Ryan Prichard
5542b37de0 Update the .gitignore file. 2012-03-28 03:12:21 -07:00
Ryan Prichard
f1842c63a1 Remove old Qt files. 2012-03-24 18:02:28 -07:00
Ryan Prichard
a4df196ed4 Work on switching from qmake to makefiles and reorganize code a little.
My plan now is to integrate the PseudoConsole with Cygwin and MSYS ptys,
with initial focus on Cygwin.  I think I'll keep the separate Agent and DLL
binaries, and they'll continue to be native Win32 binaries.  I don't want
to have two build systems (qmake vs whatever MSYS/Cygwin uses), and since
I'd like to remove the Qt dependency anyway, I'm trying to switch to
makefiles.
2012-01-21 17:30:41 -08:00
Ryan Prichard
73b250da63 Support running TestNetServer as a Windows service.
* Add a note on how to use instsrv and srvany.

 * First look for Agent.exe in the same directory as TestNetServer.exe
   before looking for the executable in the build directory that Qt
   Creator uses.

 * Write a script that copies MinGW/Qt DLLs to a single directory.
2011-11-25 01:52:58 -08:00
Ryan Prichard
73bd43d051 Implement the Unix TestNet client. 2011-11-24 03:03:25 -08:00
Ryan Prichard
7898332d9e Remove the older pre-Qt code. 2011-11-24 03:03:24 -08:00
Ryan Prichard
6021840a1f Checkpoint Console work.
- Add a very incomplete "telnet" server.  It doesn't recognize any telnet
   commands, so it's "telnet" only in the sense that I can connect to the
   server and type commands.  The commands are fed to a Win32 Console, but
   I don't get to see the output over the network.

 - Move AgentClient to the Shared directory and move QtEvent-specific code
   out of it.

 - Move the startShell routine into the AgentClient so I can share it
   between the different console-consuming prototypes.
2011-11-24 03:03:05 -08:00
Ryan Prichard
22b4de90b8 Checkpoint a reimplementation that uses Qt extensively.
- Use QMake instead of CMake.

 - Use QLocalSocket/QLocalServer to access Win32 named pipes.
2011-10-31 02:19:18 -07:00
Ryan Prichard
6e8f04139a Initial commit of console work. 2011-10-30 15:07:02 -07:00