History log of /fuchsia/zircon/system/ulib/tftp/rules.mk
Revision Date Author Comments
# 55e6c9fb 19-Mar-2018 Mark Seaborn <mseaborn@google.com>

[utest][tftp] Convert tftp-file-test.c to C++

* Add pointer casts required in C++.
* Add some int casts required by the warnings we enable for C++ code.
* Switch from _Atomic to fbl::atomic<> since the former does not work
in GCC in C++.
* Avoid designated initialisers not allowed by GCC in C++, which
aren't standard, e.g. "{ .size = X }".
* Convert ASSERT_NE() to ASSERT_NONNULL() where the former gives
warnings in GCC.

ZX-1610

Change-Id: Iab1c0a1c97bac62e74d486194a912147654acb94


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# 59e644b1 07-Sep-2017 George Kulakowski <kulakowski@google.com>

[zircon][mxtl->fbl] Rename mxtl to fbl

Change-Id: Ie21b6498e1bfb0a7fa0315e40b9e5c3ee78646be


# a422a82b 23-Aug-2017 Josh Conner <joshconner@google.com>

[libtftp] Add preprocessor defines for environment

Add defines to indicate which target we are building for.

Change-Id: I49d6eb06c43bbfa96eff029d09b87154b04c9b48


# 21b30195 19-Jul-2017 Josh Conner <joshconner@google.com>

[bootloader] Add tftp support

Allow TFTP connections for transmitting boot files.
Adds an EFI library module type to the make logic, to support
building an EFI version of libtftp.

Change-Id: Iaa2a5efd005b5d1ad52557d9a7759554ad6ebef2


# 3cfd8127 28-Jun-2017 Josh Conner <joshconner@google.com>

[tftp] Abstract transport layer

Implement a transport abstraction similar to the file abstraction,
using callbacks for send, recv, and timeout_set.

This allows us to create a higher-level API for file handling:
tftp_push_file
tftp_handle_request
tftp_handle_msg
which should signficantly simplify client complexity.

Also adds a file-level test for verifying proper end-to-end handling.

Change-Id: Ib74a9f019a6408c8c1fde975307419c7dff7c2c7


# c091f720 09-Jun-2017 Josh Conner <joshconner@google.com>

[build] Add support for hostlib modules

Support building host libraries from sources in the magenta tree. The
first use-case for this is the tftp library that will be used in both
netsvc (magenta) and netprotocol (host).

Change-Id: I5366342e99f60e5e95e67712dd9c598a02b763b2


# 91125e0a 23-Apr-2017 Roland McGrath <mcgrathr@google.com>

[ulib] Make mxtl, mxcpp, and mx libraries static-only

mxtl is actually a header-only library, so don't build a
shared object for it.

The mxtl and mx libraries are already built only as static
libraries in the Fuchsia GN build. Their code is very small.
Make the Magenta make build follow suit.

Change-Id: Ia79e5a996a981a8b046370d4ece9597f8e5bd1c2


# 16656ae0 05-Apr-2017 Brian Swetland <swetland@google.com>

[build] flatten the build

Previously we treated kernel/, system/, and third_party/ as
overlays on a shared namespace. This required the concept
of "canonical" module names, and a lot of complexity to ensure
that things didn't collide and the build worked.

This change gets rid of that, no longer passes -I to make,
so that include directives from our *.mk files do not magically
wildcard across various paths, etc.

The most user-visible change is that everywhere where a module
name is specified (MODULE_DEPS, MODULE_LIBS, etc), full module
names like kernel/lib/io or system/ulib/mxio must be used instead
of previously-allowed "short" names like lib/io and ulib/mxio.

The build output still has a similar shape, but the first segment
of the module path (kernel/, system/, or third_party/) is no
longer elided under $(BUILDDIR)

Change-Id: I525aba1da1c86eb7a86007bddc669f7eeebfedd5


# 7b8f6f42 05-Apr-2017 Brian Swetland <swetland@google.com>

[build] use '.', not '-' to add "sub-module" postfixes

Since '-' is a common feature of directory names in Magenta, it's
not possible to easily figure out if ulib/foo-bar refers to a module
named foo-bar or a module named foo with a sub-module named bar.

I want to enforce that modules *must* exist in a matching directory
(as the build expects) and that sub-modules *not* have a matching
directory (so there's never a case where we could have a collision in
the build-*/... space between a module and a sub-module.

Using a character not currently used in source directory names will
allow me to forbid its use in source directory names and ensure that
there is no ambiguity.

Change-Id: Ibf3600b33c70e6920c6c52ffc1c7139f2658034a


# d9a982c2 16-Feb-2017 Jérôme Poichet <jpoichet@google.com>

[ulib] TFTP library

Implements the protocol part only of RFCs 1350, 2347, 2348, 2349 and
7440, meaning that the transport is left to the client of the library.

Still lots TODO, but this is functional. Tasks for follow-up CLs:
* Read requests are not implemented.
* Library API needs to handle receives in between transmits in windowed
mode.

Change-Id: I31d4b50ec8367e1bf27211973c20eaee85f3ba71