Diff for /embedaddon/miniupnpc/CMakeLists.txt between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2013/07/22 00:36:10 version 1.1.1.3, 2023/09/27 11:21:37
Line 1 Line 1
cmake_minimum_required (VERSION 2.6)cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
   
project (miniupnpc C)project (miniupnpc
set (MINIUPNPC_VERSION 1.7)         VERSION 2.2.5
set (MINIUPNPC_API_VERSION 9)         DESCRIPTION "UPnP IGD client lightweight library"
          HOMEPAGE_URL https://miniupnp.tuxfamily.org/
          LANGUAGES C)
   
if (NOT CMAKE_BUILD_TYPE)set (MINIUPNPC_API_VERSION 17)
  if (WIN32) 
    set (DEFAULT_BUILD_TYPE MinSizeRel) 
  else (WIN32) 
    set (DEFAULT_BUILD_TYPE RelWithDebInfo) 
  endif(WIN32) 
    set (CMAKE_BUILD_TYPE ${DEFAULT_BUILD_TYPE} CACHE STRING 
        "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." 
        FORCE) 
endif() 
   
 option (UPNPC_BUILD_STATIC "Build static library" TRUE)  option (UPNPC_BUILD_STATIC "Build static library" TRUE)
 option (UPNPC_BUILD_SHARED "Build shared library" TRUE)  option (UPNPC_BUILD_SHARED "Build shared library" TRUE)
if (NOT WIN32)option (UPNPC_BUILD_TESTS "Build test executables" TRUE)
  option (UPNPC_BUILD_TESTS "Build test executables" TRUE)option (UPNPC_BUILD_SAMPLE "Build sample executables" TRUE)
endif (NOT WIN32) 
 option (NO_GETADDRINFO "Define NO_GETADDRINFO" FALSE)  option (NO_GETADDRINFO "Define NO_GETADDRINFO" FALSE)
   option (UPNPC_NO_INSTALL "Disable installation" FALSE)
   
mark_as_advanced (NO_GETADDRINFO)if (NOT UPNPC_BUILD_STATIC AND NOT UPNPC_BUILD_SHARED)
     message (FATAL "Both shared and static libraries are disabled!")
 endif ()
   
   include(GNUInstallDirs)
   
   # Interface library for compile definitions, flags and option
   add_library(miniupnpc-private INTERFACE)
   
 if (NO_GETADDRINFO)  if (NO_GETADDRINFO)
  add_definitions (-DNO_GETADDRINFO)  target_compile_definitions(miniupnpc-private INTERFACE NO_GETADDRINFO)
endif (NO_GETADDRINFO)endif ()
   
 if (NOT WIN32)  if (NOT WIN32)
  add_definitions (-DMINIUPNPC_SET_SOCKET_TIMEOUT)  target_compile_definitions(miniupnpc-private INTERFACE
  add_definitions (-D_BSD_SOURCE -D_POSIX_C_SOURCE=1)    MINIUPNPC_SET_SOCKET_TIMEOUT
else (NOT WIN32)    _BSD_SOURCE _DEFAULT_SOURCE)
  add_definitions (-D_WIN32_WINNT=0x0501) # XP or higher for getnameinfo and friends  if (NOT APPLE AND NOT CMAKE_SYSTEM_NAME MATCHES ".*BSD" AND NOT CMAKE_SYSTEM_NAME STREQUAL "SunOS")
endif (NOT WIN32)    # add_definitions (-D_POSIX_C_SOURCE=200112L)
     target_compile_definitions(miniupnpc-private INTERFACE _XOPEN_SOURCE=600)
   endif ()
   if (CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
     target_compile_definitions(miniupnpc-private INTERFACE _NETBSD_SOURCE)
   endif ()
 else ()
   target_compile_definitions(miniupnpc-private INTERFACE _WIN32_WINNT=0x0501) # XP or higher for getnameinfo and friends
 endif ()
   
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")if (APPLE)
  add_definitions (-DMACOSX -D_DARWIN_C_SOURCE)  target_compile_definitions(miniupnpc-private INTERFACE _DARWIN_C_SOURCE)
 endif ()  endif ()
   
 # Set compiler specific build flags  # Set compiler specific build flags
if (CMAKE_COMPILER_IS_GNUC)if (CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")
  # Set our own default flags at first run.  set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  if (NOT CONFIGURED)  target_compile_options(miniupnpc-private INTERFACE -Wall)
 endif ()
   
    if (NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")# Suppress noise warnings
      set (_PIC -fPIC)if (MSVC)
    endif (CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")  target_compile_definitions(miniupnpc-private INTERFACE _CRT_SECURE_NO_WARNINGS _WINSOCK_DEPRECATED_NO_WARNINGS)
 endif()
   
    set (CMAKE_C_FLAGS "${_PIC} -Wall $ENV{CFLAGS}" # CMAKE_C_FLAGS gets appended to the other C flagsconfigure_file (${CMAKE_CURRENT_SOURCE_DIR}/miniupnpcstrings.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/miniupnpcstrings.h)
        CACHE STRING "Flags used by the C compiler during normal builds." FORCE)target_include_directories(miniupnpc-private INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
    set (CMAKE_C_FLAGS_DEBUG "-g -DDDEBUG" 
        CACHE STRING "Flags used by the C compiler during debug builds." FORCE) 
    set (CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG" 
        CACHE STRING "Flags used by the C compiler during release builds." FORCE) 
    set (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG" 
        CACHE STRING "Flags used by the C compiler during release builds." FORCE) 
    set (CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" 
        CACHE STRING "Flags used by the C compiler during release builds." FORCE) 
   
  endif (NOT CONFIGURED)set (MINIUPNPC_SOURCES
   src/igd_desc_parse.c
   src/miniupnpc.c
   src/minixml.c
   src/minisoap.c
   src/minissdpc.c
   src/miniwget.c
   src/upnpcommands.c
   src/upnpdev.c
   src/upnpreplyparse.c
   src/upnperrors.c
   src/connecthostport.c
   src/portlistingparse.c
   src/receivedata.c
   src/addr_is_reserved.c
   ${CMAKE_CURRENT_BINARY_DIR}/miniupnpcstrings.h
 )
 
 if (WIN32)
   target_link_libraries(miniupnpc-private INTERFACE ws2_32 iphlpapi)
 elseif (CMAKE_SYSTEM_NAME STREQUAL "SunOS")
   target_link_libraries(miniupnpc-private INTERFACE socket nsl resolv)
   find_library (SOCKET_LIBRARY NAMES socket)
   find_library (NSL_LIBRARY NAMES nsl)
   find_library (RESOLV_LIBRARY NAMES resolv)
   set (LDLIBS ${SOCKET_LIBRARY} ${NSL_LIBRARY} ${RESOLV_LIBRARY} ${LDLIBS})
 elseif (HAIKU)
   target_link_libraries(miniupnpc-private INTERFACE network)
   find_library (SOCKET_LIBRARY NAMES network)
   find_library (NSL_LIBRARY NAMES network)
   find_library (RESOLV_LIBRARY NAMES network)
   set (LDLIBS ${SOCKET_LIBRARY} ${NSL_LIBRARY} ${RESOLV_LIBRARY} ${LDLIBS})
 endif ()  endif ()
   
 configure_file (${CMAKE_SOURCE_DIR}/miniupnpcstrings.h.cmake ${CMAKE_BINARY_DIR}/miniupnpcstrings.h)  
 include_directories (${CMAKE_BINARY_DIR})  
   
set (MINIUPNPC_SOURCESif (UPNPC_BUILD_STATIC)
  igd_desc_parse.c  add_library (libminiupnpc-static STATIC ${MINIUPNPC_SOURCES})
  miniupnpc.c  target_include_directories (libminiupnpc-static PUBLIC
  minixml.c    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
  minisoap.c    $<INSTALL_INTERFACE:include/miniupnpc>)
  miniwget.c  if (NOT UPNPC_BUILD_SHARED)
  upnpc.c    add_library (miniupnpc::miniupnpc ALIAS libminiupnpc-static)
  upnpcommands.c  endif()
  upnpreplyparse.c  set_target_properties (libminiupnpc-static PROPERTIES EXPORT_NAME miniupnpc)
  upnperrors.c  if (WIN32 AND NOT MINGW)
  connecthostport.c    set_target_properties (libminiupnpc-static PROPERTIES OUTPUT_NAME "libminiupnpc")
  portlistingparse.c  else()
  receivedata.c    set_target_properties (libminiupnpc-static PROPERTIES OUTPUT_NAME "miniupnpc")
)  endif()
   target_link_libraries (libminiupnpc-static PRIVATE miniupnpc-private)
   target_include_directories(libminiupnpc-static INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
   target_compile_definitions(libminiupnpc-static PUBLIC MINIUPNP_STATICLIB)
   
if (NOT WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS")  if (NOT UPNPC_NO_INSTALL)
  set (MINIUPNPC_SOURCES ${MINIUPNPC_SOURCES} minissdpc.c)    install (TARGETS miniupnpc-private EXPORT miniupnpc-private)
endif (NOT WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "AmigaOS") 
   
if (WIN32)    install (EXPORT miniupnpc-private
  set_source_files_properties (${MINIUPNPC_SOURCES} PROPERTIES      DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/miniupnpc"
                                                    COMPILE_DEFINITIONS STATICLIB      NAMESPACE miniupnpc::)
                                                    COMPILE_DEFINITIONS MINIUPNP_EXPORTS 
  ) 
endif (WIN32) 
   
if (WIN32)    install (TARGETS libminiupnpc-static
  find_library (WINSOCK2_LIBRARY NAMES ws2_32 WS2_32 Ws2_32)      EXPORT libminiupnpc-static
  find_library (IPHLPAPI_LIBRARY NAMES iphlpapi)      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  set (LDLIBS ${WINSOCK2_LIBRARY} ${IPHLPAPI_LIBRARY} ${LDLIBS})      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
#elseif (CMAKE_SYSTEM_NAME STREQUAL "Solaris")      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
#  find_library (SOCKET_LIBRARY NAMES socket) 
#  find_library (NSL_LIBRARY NAMES nsl) 
#  find_library (RESOLV_LIBRARY NAMES resolv) 
#  set (LDLIBS ${SOCKET_LIBRARY} ${NSL_LIBRARY} ${RESOLV_LIBRARY} ${LDLIBS}) 
endif (WIN32) 
   
if (NOT UPNPC_BUILD_STATIC AND NOT UPNPC_BUILD_SHARED)    install (EXPORT libminiupnpc-static
    message (FATAL "Both shared and static libraries are disabled!")      DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/miniupnpc"
endif (NOT UPNPC_BUILD_STATIC AND NOT UPNPC_BUILD_SHARED)      NAMESPACE miniupnpc::)
   endif()
   
if (UPNPC_BUILD_STATIC)  if (UPNPC_BUILD_SAMPLE)
  add_library (upnpc-static STATIC ${MINIUPNPC_SOURCES})    add_executable (upnpc-static src/upnpc.c)
  set_target_properties (upnpc-static PROPERTIES OUTPUT_NAME "miniupnpc")    target_link_libraries (upnpc-static PRIVATE libminiupnpc-static)
  target_link_libraries (upnpc-static ${LDLIBS})    target_include_directories(upnpc-static PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
  set (UPNPC_INSTALL_TARGETS ${UPNPC_INSTALL_TARGETS} upnpc-static)    if (NOT UPNPC_NO_INSTALL)
  set (UPNPC_LIBRARY_TARGET upnpc-static)      install (TARGETS upnpc-static
endif (UPNPC_BUILD_STATIC)               RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
     endif()
   endif ()
 endif ()
   
 if (UPNPC_BUILD_SHARED)  if (UPNPC_BUILD_SHARED)
  add_library (upnpc-shared SHARED ${MINIUPNPC_SOURCES})  add_library (libminiupnpc-shared SHARED ${MINIUPNPC_SOURCES})
  set_target_properties (upnpc-shared PROPERTIES OUTPUT_NAME "miniupnpc")  target_include_directories (libminiupnpc-shared PUBLIC
  set_target_properties (upnpc-shared PROPERTIES VERSION ${MINIUPNPC_VERSION})    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
  set_target_properties (upnpc-shared PROPERTIES SOVERSION ${MINIUPNPC_API_VERSION})    $<INSTALL_INTERFACE:include/miniupnpc>)
  target_link_libraries (upnpc-shared ${LDLIBS})  add_library (miniupnpc::miniupnpc ALIAS libminiupnpc-shared)
  set (UPNPC_INSTALL_TARGETS ${UPNPC_INSTALL_TARGETS} upnpc-shared)  set_target_properties (libminiupnpc-shared PROPERTIES EXPORT_NAME miniupnpc)
  set (UPNPC_LIBRARY_TARGET upnpc-shared)  set_target_properties (libminiupnpc-shared PROPERTIES OUTPUT_NAME "miniupnpc")
endif (UPNPC_BUILD_SHARED)  set_target_properties (libminiupnpc-shared PROPERTIES VERSION ${PROJECT_VERSION})
   set_target_properties (libminiupnpc-shared PROPERTIES SOVERSION ${MINIUPNPC_API_VERSION})
   target_link_libraries (libminiupnpc-shared PRIVATE miniupnpc-private)
   target_compile_definitions(libminiupnpc-shared PRIVATE MINIUPNP_EXPORTS)
   
     target_include_directories(libminiupnpc-shared INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
     if (WIN32)
       target_link_libraries(libminiupnpc-shared INTERFACE ws2_32 iphlpapi)
     endif()
   
     if (NOT UPNPC_NO_INSTALL)
       install (TARGETS libminiupnpc-shared
         EXPORT libminiupnpc-shared
         RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
         LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
         ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
   
       install (EXPORT libminiupnpc-shared
         DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/miniupnpc"
         NAMESPACE miniupnpc::)
     endif()
   
     if (UPNPC_BUILD_SAMPLE)
       add_executable (upnpc-shared src/upnpc.c)
       target_link_libraries (upnpc-shared PRIVATE libminiupnpc-shared)
       target_include_directories(upnpc-shared PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
       if (NOT UPNPC_NO_INSTALL)
         install (TARGETS upnpc-shared
                  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
       endif()
     endif ()
   
     add_executable (listdevices src/listdevices.c)
     target_link_libraries (listdevices PRIVATE libminiupnpc-shared)
     target_include_directories(listdevices PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
     if (NOT UPNPC_NO_INSTALL)
       install (TARGETS listdevices
                RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
     endif()
   endif ()
   
 if (UPNPC_BUILD_TESTS)  if (UPNPC_BUILD_TESTS)
  add_executable (testminixml testminixml.c minixml.c igd_desc_parse.c)  add_library(miniupnpc-tests INTERFACE)
  target_link_libraries (testminixml ${LDLIBS})  target_link_libraries(miniupnpc-tests INTERFACE miniupnpc-private)
   target_compile_definitions(miniupnpc-tests INTERFACE MINIUPNP_STATICLIB)
   
  add_executable (minixmlvalid minixmlvalid.c minixml.c)  add_executable (testminixml src/testminixml.c src/minixml.c src/igd_desc_parse.c)
  target_link_libraries (minixmlvalid ${LDLIBS})  target_include_directories (testminixml PRIVATE
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
   target_link_libraries (testminixml PRIVATE miniupnpc-tests)
   
  add_executable (testupnpreplyparse testupnpreplyparse.c  add_executable (minixmlvalid src/minixmlvalid.c src/minixml.c)
                                     minixml.c upnpreplyparse.c)  target_link_libraries (minixmlvalid PRIVATE miniupnpc-tests)
  target_link_libraries (testupnpreplyparse ${LDLIBS}) 
   
  add_executable (testigddescparse testigddescparse.c  add_executable (testupnpreplyparse src/testupnpreplyparse.c
                                   igd_desc_parse.c minixml.c miniupnpc.c miniwget.c minissdpc.c                                     src/minixml.c src/upnpreplyparse.c)
                                   upnpcommands.c upnpreplyparse.c minisoap.c connecthostport.c  target_include_directories (testupnpreplyparse PRIVATE
                                   portlistingparse.c receivedata.c    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
   target_link_libraries (testupnpreplyparse PRIVATE miniupnpc-tests)
 
   add_executable (testigddescparse src/testigddescparse.c
                                    src/igd_desc_parse.c src/minixml.c src/miniupnpc.c src/miniwget.c src/minissdpc.c
                                    src/upnpcommands.c src/upnpreplyparse.c src/minisoap.c src/connecthostport.c
                                    src/portlistingparse.c src/receivedata.c src/addr_is_reserved.c
   )    )
  target_link_libraries (testigddescparse ${LDLIBS})  target_include_directories (testigddescparse PRIVATE
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
   target_link_libraries (testigddescparse PRIVATE miniupnpc-tests)
   
  add_executable (testminiwget testminiwget.c  add_executable (testminiwget src/testminiwget.c
                               miniwget.c miniupnpc.c minisoap.c upnpcommands.c minissdpc.c                               src/miniwget.c src/miniupnpc.c src/minisoap.c src/upnpcommands.c src/minissdpc.c
                               upnpreplyparse.c minixml.c igd_desc_parse.c connecthostport.c                               src/upnpreplyparse.c src/minixml.c src/igd_desc_parse.c src/connecthostport.c
                               portlistingparse.c receivedata.c                               src/portlistingparse.c src/receivedata.c src/addr_is_reserved.c
   )    )
  target_link_libraries (testminiwget ${LDLIBS})  target_include_directories (testminiwget PRIVATE
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
   target_link_libraries (testminiwget PRIVATE miniupnpc-tests)
   
     add_executable (testaddr_is_reserved src/testaddr_is_reserved.c
                                          src/addr_is_reserved.c
     )
     target_link_libraries (testaddr_is_reserved PRIVATE miniupnpc-tests)
   
     add_executable (testportlistingparse src/testportlistingparse.c
                                          src/minixml.c src/portlistingparse.c)
     target_include_directories (testportlistingparse PRIVATE
       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
     target_link_libraries (testportlistingparse PRIVATE miniupnpc-tests)
   
     add_executable (minihttptestserver src/minihttptestserver.c)
   
 # set (UPNPC_INSTALL_TARGETS ${UPNPC_INSTALL_TARGETS} testminixml minixmlvalid testupnpreplyparse testigddescparse testminiwget)  # set (UPNPC_INSTALL_TARGETS ${UPNPC_INSTALL_TARGETS} testminixml minixmlvalid testupnpreplyparse testigddescparse testminiwget)
endif (UPNPC_BUILD_TESTS)  include(CTest)
   add_test(NAME validateminixml
            COMMAND minixmlvalid)
   add_test(NAME validateminiwget
            COMMAND ${CMAKE_SOURCE_DIR}/testminiwget.sh)
   set_property(TEST validateminiwget
                PROPERTY ENVIRONMENT
                TESTSERVER=${CMAKE_BINARY_DIR}/minihttptestserver
                TESTMINIWGET=${CMAKE_BINARY_DIR}/testminiwget)
   add_test(NAME validateupnpreplyparse
            COMMAND ${CMAKE_SOURCE_DIR}/testupnpreplyparse.sh
            WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
   set_property(TEST validateupnpreplyparse
                PROPERTY ENVIRONMENT
                TESTUPNPREPLYPARSE=${CMAKE_BINARY_DIR}/testupnpreplyparse)
   add_test(NAME validateportlistingparse
            COMMAND testportlistingparse)
   add_test(NAME validateigddescparse1
            COMMAND testigddescparse new_LiveBox_desc.xml new_LiveBox_desc.values
            WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/testdesc)
   add_test(NAME validateigddescparse2
            COMMAND testigddescparse linksys_WAG200G_desc.xml linksys_WAG200G_desc.values
            WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/testdesc)
   add_test(NAME validateaddr_is_reserved
            COMMAND testaddr_is_reserved)
   
   endif ()
   
install (TARGETS ${UPNPC_INSTALL_TARGETS}configure_file(miniupnpc.pc.in miniupnpc.pc @ONLY)
  RUNTIME DESTINATION bin 
  LIBRARY DESTINATION lib${LIB_SUFFIX} 
  ARCHIVE DESTINATION lib${LIB_SUFFIX} 
) 
install (FILES 
        miniupnpc.h 
  miniwget.h 
  upnpcommands.h 
  igd_desc_parse.h 
  upnpreplyparse.h 
  upnperrors.h 
  declspec.h 
  DESTINATION include/miniupnpc 
) 
   
set (CONFIGURED YES CACHE INTERNAL "")if (NOT UPNPC_NO_INSTALL)
   install (FILES
     include/miniupnpc.h
     include/miniwget.h
     include/upnpcommands.h
     include/igd_desc_parse.h
     include/upnpreplyparse.h
     include/upnperrors.h
     include/upnpdev.h
     include/miniupnpctypes.h
     include/portlistingparse.h
     include/miniupnpc_declspec.h
     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/miniupnpc
   )
   
# vim: ts=2:sw=2  install(FILES miniupnpc-config.cmake
     DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/miniupnpc
   )
 
   install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miniupnpc.pc
     DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
   )
 
   install(FILES man3/miniupnpc.3
     DESTINATION ${CMAKE_INSTALL_MANDIR}/man3
   )
 
   install(FILES external-ip.sh
     TYPE BIN
   )
 endif()
 
 # vim: ts=2:sw=2:expandtab

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>