Commit Graph

47 Commits

Author SHA1 Message Date
Keegan McAllister 5cff456400 Define PROG, for newer versions of skalibs
Needed to build from our source tarball on some Gentoo systems.

Closes #239.
Closes #254.
2012-05-05 02:11:02 -04:00
Keith Winstein d5051569b8 COND_THIRD_POLL _overrides_ broken system poll; does not add to it.
Fixes OS X 10.6 problem from 7fe9f29.
2012-04-25 02:22:38 -04:00
Anders Kaseorg 7fe9f29448 Set poll_LIBS = libpoll.a in Makefile.am so dependency tracking works
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-04-21 02:19:36 -04:00
Anders Kaseorg 735dcd6ad5 Clarify COND_THIRD_LIBSTDDJB code
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-04-21 02:19:13 -04:00
Keith Winstein bcb96d9337 Change some asserts flagging runtime errors to fatal_asserts (Anders Kaseorg) 2012-04-16 06:27:14 -04:00
Keith Winstein f376b80018 Fix protobuf -I lines to build with non-system protobuf 2012-04-15 23:20:10 -04:00
Keegan McAllister 8bcc001b52 Remove Boost entirely 2012-04-15 13:49:15 -04:00
Keith Winstein 8f60f7ab05 Convey locale-related environment variables as backup, and nicer error.
Fixes #74.
2012-04-14 16:56:48 -04:00
Keegan McAllister 0eec0b60f0 Linux: Use our own signalfd wrapper, rather than libstddjb
selfpipe already does a fine job of interfacing to signalfd.  But Debian and
Ubuntu want us to depend on the skalibs-dev package rather than build libstddjb
ourselves.  That would be fine except that skalibs-dev has static libraries
only, and they aren't built with -fPIC.  This interferes with building
mosh-{client,server} as position-independent executables, which is a desirable
security measure.

So we have our own wrapper, which invokes either signalfd or selfpipe.  And we
build it ourselves with our own flags, because it's part of the Mosh project
proper.

(closes #108)
2012-04-13 12:33:21 -04:00
Keegan McAllister d2434d1a79 Check compiler support for -fno-default-inline and -pipe
clang was spewing warnings about the unrecognized -fno-default-inline.  (Oddly,
it warns only with -c, not when compiling directly to an executable.)  For
completeness we also check -pipe, even though clang is OK with that one.

It should be fine to omit either flag.  gcc -fno-default-inline drops the
implicit 'inline' annotation on functions defined inside a class scope, but
'inline' is only a hint anyway.  -fno-default-inline does not change linkage.
-pipe is merely a compile speed optimization.
2012-04-13 12:27:27 -04:00
Keegan McAllister 349e2d20c8 Use the hardening flags
Closes #79.
2012-04-13 12:25:09 -04:00
Anders Kaseorg 9cec566cd1 Find ncurses from pkg-config if possible, and prefer separate libtinfo
Recent ncurses can be configured --with-termlib, which splits out the
terminfo-level functions from libncurses into a separate libtinfo.
This allows us to avoid an unnecessary dependency on libncurses.  (We
already avoided this on distributions that link with -Wl,--as-needed.)

Signed-off-by: Anders Kaseorg <andersk@mit.edu>

Closes #128 github pull request.
2012-04-11 02:47:55 -04:00
Keith Winstein 9a7f3ad33d Print warnings when IUTF8 missing 2012-03-31 15:20:30 -04:00
Quentin Smith f2a1271dee -lpoll must come before -lm (which pulls in the system poll implementation) 2012-03-28 14:32:32 +02:00
Quentin Smith 7a4ef054c3 Allow the user to specify CFLAGS and LIBS for linking with poll, and test for -lpoll if necessary 2012-03-28 14:32:32 +02:00
Quentin Smith 44ab7360bc Fix poll.h location 2012-03-28 14:32:32 +02:00
Keegan McAllister 7ed5174aa7 Move some locale handling into one place 2012-03-26 20:08:55 -04:00
Keith Winstein 2316c7a2a4 Update gitignore for benchmark 2012-03-18 04:12:54 -04:00
Keegan McAllister 139bcbf9ae configure.ac: Add --enable-{client,server,examples}
These default respectively to yes, yes, no.
2012-03-17 05:36:42 -04:00
Keith Winstein 170bc8366a Posterize to 8 colors when outer terminal does not support 256 colors
Fixes #58 github issue.
2012-03-16 17:43:01 -04:00
Keith Winstein 57d97209c0 Support 256color (and assume 256color terminal). Closes #3 github issue. 2012-03-16 13:46:55 -04:00
Keith Winstein 6e220268d6 Restore benchmark iterations to 100000 2012-03-14 02:52:23 -04:00
Keith Winstein 487ab77e42 Eliminate one terminal copy per frame (20% speedup on benchmark) 2012-03-14 01:59:07 -04:00
Keith Winstein 612159490f Modify benchmark to avoid excessive repeated lines 2012-03-14 01:34:40 -04:00
Keith Winstein 561a2be761 Optimize out use of sgr() by storing rendition instead (11% speedup) 2012-03-14 01:11:47 -04:00
Keith Winstein 4bde28bc3f Add benchmark example (stress test for prediction overlay) 2012-03-13 18:48:30 -04:00
Keith Winstein b8457dd308 Use TERM env var / terminfo to decide whether to send ECH. Fixes tmux bug.
Closes #28 github issue.
2012-03-10 05:41:03 -05:00
Keith Winstein df3eec1397 Allow explicit UDP port option, confine ports to range 60000..61000 2012-03-10 03:34:47 -05:00
Keith Winstein df5d163f9c Fix asserts with side-effects (per Keegan McAllister) 2012-03-08 10:50:19 -05:00
Anders Kaseorg edada5e1ea Don’t use $(builddir)
$(builddir) is always ., except apparently on automake 1.9 which
doesn’t define it.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-03-07 03:10:19 -05:00
Anders Kaseorg c56f8229e5 Build with bundled libstddjb selfpipe by default
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-03-07 03:10:19 -05:00
Quentin Smith 9a3ab83783 Use libstddjb's selfpipe instead of signalfd
Use selfpipe in our client, server, and examples.
2012-03-07 03:05:37 -05:00
Quentin Smith d5a1afd5e1 Fix ioctl 2012-03-07 03:05:37 -05:00
Anders Kaseorg b275571b8f Remove redundant uses of environ
environ doesn’t work on OS X.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-03-07 03:05:36 -05:00
Quentin Smith 19d284bfa4 Handle util.h if it exists instead of pty.h 2012-03-07 03:05:36 -05:00
Quentin Smith e8d14d35a6 Add boost and protobuf in the places where they are needed
[seph@directionless.org, andersk@mit.edu: add in even more places]
2012-03-07 03:05:36 -05:00
Quentin Smith 582bf347c9 Add alternate timestamp implementations
Add mach_absolute_time and gettimeofday timestamp implementations, and
fix clock_gettime check so that it can actually succeed
2012-03-07 03:05:36 -05:00
Quentin Smith 1b0686a7ea Stop overriding LIBS so that configure can properly set it 2012-03-07 03:05:35 -05:00
Anders Kaseorg aad760e7d6 Make warning CXXFLAGS configurable
This turns off -Werror by default except in the Debian package.
-Werror is inherently unportable and breaks things on OS X.  While it
can cause problems in Debian too, this is at least a little better.

It also turns off -pedantic in src/protobufs, because apparently
protoc output doesn’t compile with -pedantic on all platforms.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-03-07 03:05:35 -05:00
Keith Winstein 58b584a2b3 Move from protobuf-lite to protobuf to accommodate Ubuntu lucid
Add changelog entry
2012-02-20 00:40:08 -05:00
Anders Kaseorg 689eedc271 Compile without --std=c++0x
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 21:29:51 -05:00
Anders Kaseorg 6c52c1d306 Purge ‘using namespace std’ from header files
std::bind and boost::lambda::bind don’t mix.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 20:22:12 -05:00
Anders Kaseorg 32ff4af359 Fix wchar_t format string types
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-17 20:22:12 -05:00
Anders Kaseorg f6e47a4dd1 Add .gitignore files
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-07 16:47:58 -05:00
Anders Kaseorg fab69fd98c Use protobuf_lite_CFLAGS and protobuf_lite_LIBS from configure
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2012-02-07 16:10:30 -05:00
Keith Winstein 3781a290c8 Add copyright/license notices 2012-02-06 20:52:48 -05:00
Keith Winstein a164a84496 Make examples compileable 2012-02-06 19:28:22 -05:00