Loading ...
Sorry, an error occurred while loading the content.

Re: successfully compiled on nextstep-3.3

Expand Messages
  • Bram Moolenaar
    ... Aha. Then please verify that this patch fixes the problem: ... *************** ... #if !defined(S_ISREG) && defined(S_IFREG) # define S_ISREG(m) (((m) &
    Message 1 of 5 , Sep 28, 2001
    • 0 Attachment
      John Beppu wrote:

      > [ date ] 2001/09/27 | Thursday | 09:00 PM
      > [ author ] Bram Moolenaar <Bram@...>
      >
      > > > 1) It couldn't find the S_ISBLK macro for stat(2)
      > > > for some reason. However, the man pages on my NeXT suggest
      > > > that it's there, so I'll need to look into this.
      > > > For the time being, I just commented that little
      > > > block of code out, but I'd like to get you a better
      > > > solution... so I'll get back to you...
      > > Perhaps it's in some include file?
      >
      > I looked a little deeper, and I found out that on nextstep-3.x,
      > it's S_IFBLK instead of S_ISBLK.
      > ^ ^
      > The place to fix this would be in src/os_unix.h around line 486
      > where S_IF* macros are being wrapped around S_IS* macros.
      >
      > FYI, the place where I encountered the original compilation problem
      > was in src/os_unix.c around line 2267.

      Aha. Then please verify that this patch fixes the problem:

      *** os_unix.h~ Mon Aug 27 17:29:01 2001
      --- os_unix.h Fri Sep 28 20:21:12 2001
      ***************
      *** 486,491 ****
      --- 486,494 ----
      #if !defined(S_ISREG) && defined(S_IFREG)
      # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
      #endif
      + #if !defined(S_ISBLK) && defined(S_IFBLK)
      + # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
      + #endif
      #if !defined(S_ISSOCK) && defined(S_IFSOCK)
      # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
      #endif

      > > > 2) It needed to link in the putenv() function (found in
      > > > pty.c), but objects/pty.o wasn't getting linked.
      > > > I added objects/pty.o to the OBJ variable
      > > > in src/Makefile and that fixed it. Perhaps putenv()
      > > > can be split out into its own putenv.c, because my
      > > > build of vim didn't use anything else from pty.c
      > > Doesn't it have setenv() either? It probably does (I can't imagine a
      > > system that has neither setenv() or putenv()), but perhaps it requires
      > > adding a library?
      >
      > hehe. Well, it looks like nextstep-3.x doesn't have either
      > setenv() or putenv(). (It /does/ have getenv(), though).
      >
      > reference:
      > http://www.isc.org/ml-archives/inn-workers/1998/06/msg00267.html

      Get a new OS! :-)

      I think I'll solve this by moving putenv() from pty.c to misc1.c, after
      vim_setenv(). I'll do that later.

      --
      I started out with nothing, and I still have most of it.
      -- Michael Davis -- "Tonight Show"

      /// Bram Moolenaar -- Bram@... -- http://www.moolenaar.net \\\
      ((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim )))
      \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
    • John Beppu
      [ date ] 2001/09/28 | Friday | 09:14 PM [ author ] Bram Moolenaar ... It works.
      Message 2 of 5 , Sep 29, 2001
      • 0 Attachment
        [ date ] 2001/09/28 | Friday | 09:14 PM
        [ author ] Bram Moolenaar <Bram@...>

        > > I looked a little deeper, and I found out that on nextstep-3.x,
        > > it's S_IFBLK instead of S_ISBLK.

        > > The place to fix this would be in src/os_unix.h around line 486
        > > where S_IF* macros are being wrapped around S_IS* macros.

        > Aha. Then please verify that this patch fixes the problem:



        It works.



        > *** os_unix.h~ Mon Aug 27 17:29:01 2001
        > --- os_unix.h Fri Sep 28 20:21:12 2001
        > ***************
        > *** 486,491 ****
        > --- 486,494 ----
        > #if !defined(S_ISREG) && defined(S_IFREG)
        > # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
        > #endif
        > + #if !defined(S_ISBLK) && defined(S_IFBLK)
        > + # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
        > + #endif
        > #if !defined(S_ISSOCK) && defined(S_IFSOCK)
        > # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
        > #endif
      Your message has been successfully submitted and would be delivered to recipients shortly.