All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Kegel <dank@kegel.com>
To: netfilter-devel@lists.netfilter.org
Subject: Building on case-insensitive filesystems
Date: Sat, 16 Oct 2004 12:35:43 -0700	[thread overview]
Message-ID: <4171780F.1070909@kegel.com> (raw)

$ ls {include/linux/netfilter_ipv4,net/ipv4/netfilter}/*.{h,c}
shows eight pairs of files whose names differ only in case.
For example:
$ more include/linux/netfilter_ipv4/ipt_{mark,MARK}.h
::::::::::::::
include/linux/netfilter_ipv4/ipt_mark.h
::::::::::::::
#ifndef _IPT_MARK_H
#define _IPT_MARK_H

struct ipt_mark_info {
     unsigned long mark, mask;
     u_int8_t invert;
};

#endif /*_IPT_MARK_H*/

::::::::::::::
include/linux/netfilter_ipv4/ipt_MARK.h
::::::::::::::
#ifndef _IPT_MARK_H_target
#define _IPT_MARK_H_target

struct ipt_mark_target_info {
         unsigned long mark;
};

#endif /*_IPT_MARK_H_target*/

Seems like ipt_mark_target.h might be a better name for
that latter file.  That would let developers who have
MacOSX or Windows laptops successfully unpack the
Linux source tree on their computers' case-insensitive filesystems.

I maintain http://kegel.com/crosstool, which is a script
that builds arbitrary combinations of gcc + {g,uc}libc + binutils + linux headers + target.
As a check on the resulting cross toolchains, I try building
a Linux kernel.  This works great in general, but on
operating systems with case-insensitive filesystems
(MacOSX, Cygwin), building the linux kernel understandably fails on these files.

Here's the patch I've been using to do a rename and fix Makefiles to match:
   http://www.kegel.com/crosstool/linux-2.6.8-netfilter-case-insensitive.patch
It renames the uppercase variants to add a _u suffix, but I would
gladly rework the patch to use a nicer suffix (like _target) if
that would help make the rename happen.

This is part of a larger effort to make life easier for
embedded Linux developers who are stuck developing on Windows
or Mac systems; see discussion at
http://marc.theaimsgroup.com/?l=linux-kernel&m=109713211417106&w=2
(Summary: Sam Ravnborg is helping; Russel King is skeptical.)
- Dan

-- 
Trying to get a job as a c++ developer?  See http://kegel.com/academy/getting-hired.html

             reply	other threads:[~2004-10-16 19:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-16 19:35 Dan Kegel [this message]
2004-10-18 13:42 ` Building on case-insensitive filesystems Harald Welte
2004-10-18 15:28   ` Dan Kegel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4171780F.1070909@kegel.com \
    --to=dank@kegel.com \
    --cc=netfilter-devel@lists.netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.