SHARE
TWEET

silverligth.patch

ImNtReal Dec 26th, 2012 117 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. diff -rupN wine-1.5.19/ChangeLog wine-silverlight-1.5.19/ChangeLog
  2. --- wine-1.5.19/ChangeLog       1969-12-31 16:00:00.000000000 -0800
  3. +++ wine-silverlight-1.5.19/ChangeLog   2012-12-20 18:16:39.099593683 -0800
  4. @@ -0,0 +1,3 @@
  5. +wine-compholio (X.Y.Z) lucid; urgency=low
  6. +  * See also normal changelog file for Debian changes.
  7. + -- Erich E. Hoover <ehoover@mines.edu>  Fri, 16 Apr 2010 12:20:00 -0600
  8. diff -rupN wine-1.5.19/configure wine-silverlight-1.5.19/configure
  9. --- wine-1.5.19/configure       2012-12-07 11:17:32.000000000 -0800
  10. +++ wine-silverlight-1.5.19/configure   2012-12-20 18:16:39.102926747 -0800
  11. @@ -134,31 +136,6 @@ export LANGUAGE
  12.  # CDPATH.
  13.  (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
  14.  
  15. -# Use a proper internal environment variable to ensure we don't fall
  16. -  # into an infinite loop, continuously re-executing ourselves.
  17. -  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
  18. -    _as_can_reexec=no; export _as_can_reexec;
  19. -    # We cannot yet assume a decent shell, so we have to provide a
  20. -# neutralization value for shells without unset; and this also
  21. -# works around shells that cannot unset nonexistent variables.
  22. -# Preserve -v and -x to the replacement shell.
  23. -BASH_ENV=/dev/null
  24. -ENV=/dev/null
  25. -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
  26. -case $- in # ((((
  27. -  *v*x* | *x*v* ) as_opts=-vx ;;
  28. -  *v* ) as_opts=-v ;;
  29. -  *x* ) as_opts=-x ;;
  30. -  * ) as_opts= ;;
  31. -esac
  32. -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
  33. -# Admittedly, this is quite paranoid, since all the known shells bail
  34. -# out after a failed `exec'.
  35. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
  36. -as_fn_exit 255
  37. -  fi
  38. -  # We don't want this to propagate to other subprocesses.
  39. -          { _as_can_reexec=; unset _as_can_reexec;}
  40.  if test "x$CONFIG_SHELL" = x; then
  41.    as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
  42.    emulate sh
  43. @@ -192,8 +169,7 @@ if ( set x; as_fn_ret_success y && test
  44.  else
  45.    exitcode=1; echo positional parameters were not saved.
  46.  fi
  47. -test x\$exitcode = x0 || exit 1
  48. -test -x / || exit 1"
  49. +test x\$exitcode = x0 || exit 1"
  50.    as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  51.    as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  52.    eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  53. @@ -238,25 +214,21 @@ IFS=$as_save_IFS
  54.  
  55.  
  56.        if test "x$CONFIG_SHELL" != x; then :
  57. -  export CONFIG_SHELL
  58. -             # We cannot yet assume a decent shell, so we have to provide a
  59. -# neutralization value for shells without unset; and this also
  60. -# works around shells that cannot unset nonexistent variables.
  61. -# Preserve -v and -x to the replacement shell.
  62. -BASH_ENV=/dev/null
  63. -ENV=/dev/null
  64. -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
  65. -case $- in # ((((
  66. -  *v*x* | *x*v* ) as_opts=-vx ;;
  67. -  *v* ) as_opts=-v ;;
  68. -  *x* ) as_opts=-x ;;
  69. -  * ) as_opts= ;;
  70. -esac
  71. -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
  72. -# Admittedly, this is quite paranoid, since all the known shells bail
  73. -# out after a failed `exec'.
  74. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
  75. -exit 255
  76. +  # We cannot yet assume a decent shell, so we have to provide a
  77. +       # neutralization value for shells without unset; and this also
  78. +       # works around shells that cannot unset nonexistent variables.
  79. +       # Preserve -v and -x to the replacement shell.
  80. +       BASH_ENV=/dev/null
  81. +       ENV=/dev/null
  82. +       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
  83. +       export CONFIG_SHELL
  84. +       case $- in # ((((
  85. +         *v*x* | *x*v* ) as_opts=-vx ;;
  86. +         *v* ) as_opts=-v ;;
  87. +         *x* ) as_opts=-x ;;
  88. +         * ) as_opts= ;;
  89. +       esac
  90. +       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
  91.  fi
  92.  
  93.      if test x$as_have_required = xno; then :
  94. @@ -359,14 +331,6 @@ $as_echo X"$as_dir" |
  95.  
  96.  
  97.  } # as_fn_mkdir_p
  98. -
  99. -# as_fn_executable_p FILE
  100. -# -----------------------
  101. -# Test if FILE is an executable regular file.
  102. -as_fn_executable_p ()
  103. -{
  104. -  test -f "$1" && test -x "$1"
  105. -} # as_fn_executable_p
  106.  # as_fn_append VAR VALUE
  107.  # ----------------------
  108.  # Append the text in VALUE to the end of the definition contained in VAR. Take
  109. @@ -488,10 +452,6 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
  110.    chmod +x "$as_me.lineno" ||
  111.      { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
  112.  
  113. -  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
  114. -  # already done that, so ensure we don't try to do so again and fall
  115. -  # in an infinite loop.  This has already happened in practice.
  116. -  _as_can_reexec=no; export _as_can_reexec
  117.    # Don't try to exec as it changes $[0], causing all sort of problems
  118.    # (the dirname of $[0] is not the place where we might find the
  119.    # original and so on.  Autoconf is especially sensitive to this).
  120. @@ -526,16 +486,16 @@ if (echo >conf$$.file) 2>/dev/null; then
  121.      # ... but there are two gotchas:
  122.      # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
  123.      # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
  124. -    # In both cases, we have to default to `cp -pR'.
  125. +    # In both cases, we have to default to `cp -p'.
  126.      ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
  127. -      as_ln_s='cp -pR'
  128. +      as_ln_s='cp -p'
  129.    elif ln conf$$.file conf$$ 2>/dev/null; then
  130.      as_ln_s=ln
  131.    else
  132. -    as_ln_s='cp -pR'
  133. +    as_ln_s='cp -p'
  134.    fi
  135.  else
  136. -  as_ln_s='cp -pR'
  137. +  as_ln_s='cp -p'
  138.  fi
  139.  rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
  140.  rmdir conf$$.dir 2>/dev/null
  141. @@ -547,8 +507,28 @@ else
  142.    as_mkdir_p=false
  143.  fi
  144.  
  145. -as_test_x='test -x'
  146. -as_executable_p=as_fn_executable_p
  147. +if test -x / >/dev/null 2>&1; then
  148. +  as_test_x='test -x'
  149. +else
  150. +  if ls -dL / >/dev/null 2>&1; then
  151. +    as_ls_L_option=L
  152. +  else
  153. +    as_ls_L_option=
  154. +  fi
  155. +  as_test_x='
  156. +    eval sh -c '\''
  157. +      if test -d "$1"; then
  158. +       test -d "$1/.";
  159. +      else
  160. +       case $1 in #(
  161. +       -*)set "./$1";;
  162. +       esac;
  163. +       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
  164. +       ???[sx]*):;;*)false;;esac;fi
  165. +    '\'' sh
  166. +  '
  167. +fi
  168. +as_executable_p=$as_test_x
  169.  
  170.  # Sed expression to map a string onto a valid CPP name.
  171.  as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
  172. @@ -1315,6 +1295,8 @@ target=$target_alias
  173.  if test "x$host_alias" != x; then
  174.    if test "x$build_alias" = x; then
  175.      cross_compiling=maybe
  176. +    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
  177. +    If a cross compiler is detected then cross compile mode will be used" >&2
  178.    elif test "x$build_alias" != "x$host_alias"; then
  179.      cross_compiling=yes
  180.    fi
  181. @@ -1733,7 +1715,7 @@ $as_echo "$ac_try_echo"; } >&5
  182.          test ! -s conftest.err
  183.         } && test -s conftest$ac_exeext && {
  184.          test "$cross_compiling" = yes ||
  185. -        test -x conftest$ac_exeext
  186. +        $as_test_x conftest$ac_exeext
  187.         }; then :
  188.    ac_retval=0
  189.  else
  190. @@ -2950,7 +2932,7 @@ do
  191.    IFS=$as_save_IFS
  192.    test -z "$as_dir" && as_dir=.
  193.      for ac_exec_ext in '' $ac_executable_extensions; do
  194. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  195. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  196.      ac_cv_prog_CC="${ac_tool_prefix}gcc"
  197.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  198.      break 2
  199. @@ -2990,7 +2972,7 @@ do
  200.    IFS=$as_save_IFS
  201.    test -z "$as_dir" && as_dir=.
  202.      for ac_exec_ext in '' $ac_executable_extensions; do
  203. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  204. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  205.      ac_cv_prog_ac_ct_CC="gcc"
  206.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  207.      break 2
  208. @@ -3043,7 +3025,7 @@ do
  209.    IFS=$as_save_IFS
  210.    test -z "$as_dir" && as_dir=.
  211.      for ac_exec_ext in '' $ac_executable_extensions; do
  212. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  213. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  214.      ac_cv_prog_CC="${ac_tool_prefix}cc"
  215.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  216.      break 2
  217. @@ -3084,7 +3066,7 @@ do
  218.    IFS=$as_save_IFS
  219.    test -z "$as_dir" && as_dir=.
  220.      for ac_exec_ext in '' $ac_executable_extensions; do
  221. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  222. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  223.      if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
  224.         ac_prog_rejected=yes
  225.         continue
  226. @@ -3142,7 +3124,7 @@ do
  227.    IFS=$as_save_IFS
  228.    test -z "$as_dir" && as_dir=.
  229.      for ac_exec_ext in '' $ac_executable_extensions; do
  230. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  231. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  232.      ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
  233.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  234.      break 2
  235. @@ -3186,7 +3168,7 @@ do
  236.    IFS=$as_save_IFS
  237.    test -z "$as_dir" && as_dir=.
  238.      for ac_exec_ext in '' $ac_executable_extensions; do
  239. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  240. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  241.      ac_cv_prog_ac_ct_CC="$ac_prog"
  242.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  243.      break 2
  244. @@ -3632,7 +3614,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
  245.  /* end confdefs.h.  */
  246.  #include <stdarg.h>
  247.  #include <stdio.h>
  248. -struct stat;
  249. +#include <sys/types.h>
  250. +#include <sys/stat.h>
  251.  /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
  252.  struct buf { int x; };
  253.  FILE * (*rcsopen) (struct buf *, struct stat *, int);
  254. @@ -3745,7 +3728,7 @@ do
  255.    IFS=$as_save_IFS
  256.    test -z "$as_dir" && as_dir=.
  257.      for ac_exec_ext in '' $ac_executable_extensions; do
  258. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  259. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  260.      ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
  261.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  262.      break 2
  263. @@ -3789,7 +3772,7 @@ do
  264.    IFS=$as_save_IFS
  265.    test -z "$as_dir" && as_dir=.
  266.      for ac_exec_ext in '' $ac_executable_extensions; do
  267. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  268. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  269.      ac_cv_prog_ac_ct_CXX="$ac_prog"
  270.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  271.      break 2
  272. @@ -3991,7 +3974,7 @@ do
  273.    IFS=$as_save_IFS
  274.    test -z "$as_dir" && as_dir=.
  275.      for ac_exec_ext in '' $ac_executable_extensions; do
  276. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  277. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  278.      ac_cv_prog_CPPBIN="${ac_tool_prefix}cpp"
  279.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  280.      break 2
  281. @@ -4031,7 +4014,7 @@ do
  282.    IFS=$as_save_IFS
  283.    test -z "$as_dir" && as_dir=.
  284.      for ac_exec_ext in '' $ac_executable_extensions; do
  285. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  286. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  287.      ac_cv_prog_ac_ct_CPPBIN="cpp"
  288.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  289.      break 2
  290. @@ -4266,7 +4249,7 @@ do
  291.    IFS=$as_save_IFS
  292.    test -z "$as_dir" && as_dir=.
  293.      for ac_exec_ext in '' $ac_executable_extensions; do
  294. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  295. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  296.      ac_cv_prog_FLEX="$ac_prog"
  297.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  298.      break 2
  299. @@ -4331,7 +4314,7 @@ do
  300.    IFS=$as_save_IFS
  301.    test -z "$as_dir" && as_dir=.
  302.      for ac_exec_ext in '' $ac_executable_extensions; do
  303. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  304. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  305.      ac_cv_prog_BISON="$ac_prog"
  306.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  307.      break 2
  308. @@ -4380,7 +4363,7 @@ do
  309.    IFS=$as_save_IFS
  310.    test -z "$as_dir" && as_dir=.
  311.      for ac_exec_ext in '' $ac_executable_extensions; do
  312. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  313. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  314.      ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
  315.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  316.      break 2
  317. @@ -4424,7 +4407,7 @@ do
  318.    IFS=$as_save_IFS
  319.    test -z "$as_dir" && as_dir=.
  320.      for ac_exec_ext in '' $ac_executable_extensions; do
  321. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  322. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  323.      ac_cv_prog_ac_ct_AR="$ac_prog"
  324.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  325.      break 2
  326. @@ -4480,7 +4463,7 @@ do
  327.    IFS=$as_save_IFS
  328.    test -z "$as_dir" && as_dir=.
  329.      for ac_exec_ext in '' $ac_executable_extensions; do
  330. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  331. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  332.      ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
  333.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  334.      break 2
  335. @@ -4520,7 +4503,7 @@ do
  336.    IFS=$as_save_IFS
  337.    test -z "$as_dir" && as_dir=.
  338.      for ac_exec_ext in '' $ac_executable_extensions; do
  339. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  340. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  341.      ac_cv_prog_ac_ct_RANLIB="ranlib"
  342.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  343.      break 2
  344. @@ -4582,7 +4565,7 @@ do
  345.      for ac_prog in grep ggrep; do
  346.      for ac_exec_ext in '' $ac_executable_extensions; do
  347.        ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
  348. -      as_fn_executable_p "$ac_path_GREP" || continue
  349. +      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
  350.  # Check for GNU ac_path_GREP and select it if it is found.
  351.    # Check for GNU $ac_path_GREP
  352.  case `"$ac_path_GREP" --version 2>&1` in
  353. @@ -4648,7 +4631,7 @@ do
  354.      for ac_prog in egrep; do
  355.      for ac_exec_ext in '' $ac_executable_extensions; do
  356.        ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
  357. -      as_fn_executable_p "$ac_path_EGREP" || continue
  358. +      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
  359.  # Check for GNU ac_path_EGREP and select it if it is found.
  360.    # Check for GNU $ac_path_EGREP
  361.  case `"$ac_path_EGREP" --version 2>&1` in
  362. @@ -4714,7 +4697,7 @@ do
  363.    IFS=$as_save_IFS
  364.    test -z "$as_dir" && as_dir=.
  365.      for ac_exec_ext in '' $ac_executable_extensions; do
  366. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  367. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  368.      ac_cv_path_LDCONFIG="$as_dir/$ac_word$ac_exec_ext"
  369.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  370.      break 2
  371. @@ -4774,7 +4757,7 @@ case $as_dir/ in #((
  372.      # by default.
  373.      for ac_prog in ginstall scoinst install; do
  374.        for ac_exec_ext in '' $ac_executable_extensions; do
  375. -       if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
  376. +       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
  377.           if test $ac_prog = install &&
  378.             grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
  379.             # AIX install.  It has an incompatible calling convention.
  380. @@ -4853,7 +4836,7 @@ do
  381.    IFS=$as_save_IFS
  382.    test -z "$as_dir" && as_dir=.
  383.      for ac_exec_ext in '' $ac_executable_extensions; do
  384. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  385. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  386.      ac_cv_prog_LINT="$ac_prog"
  387.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  388.      break 2
  389. @@ -4901,7 +4884,7 @@ do
  390.    IFS=$as_save_IFS
  391.    test -z "$as_dir" && as_dir=.
  392.      for ac_exec_ext in '' $ac_executable_extensions; do
  393. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  394. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  395.      ac_cv_prog_FONTFORGE="$ac_prog"
  396.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  397.      break 2
  398. @@ -4944,7 +4927,7 @@ do
  399.    IFS=$as_save_IFS
  400.    test -z "$as_dir" && as_dir=.
  401.      for ac_exec_ext in '' $ac_executable_extensions; do
  402. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  403. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  404.      ac_cv_prog_PKG_CONFIG="$ac_prog"
  405.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  406.      break 2
  407. @@ -4987,7 +4970,7 @@ do
  408.    IFS=$as_save_IFS
  409.    test -z "$as_dir" && as_dir=.
  410.      for ac_exec_ext in '' $ac_executable_extensions; do
  411. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  412. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  413.      ac_cv_prog_RSVG="$ac_prog"
  414.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  415.      break 2
  416. @@ -5030,7 +5013,7 @@ do
  417.    IFS=$as_save_IFS
  418.    test -z "$as_dir" && as_dir=.
  419.      for ac_exec_ext in '' $ac_executable_extensions; do
  420. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  421. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  422.      ac_cv_prog_CONVERT="$ac_prog"
  423.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  424.      break 2
  425. @@ -5073,7 +5056,7 @@ do
  426.    IFS=$as_save_IFS
  427.    test -z "$as_dir" && as_dir=.
  428.      for ac_exec_ext in '' $ac_executable_extensions; do
  429. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  430. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  431.      ac_cv_prog_ICOTOOL="$ac_prog"
  432.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  433.      break 2
  434. @@ -5116,7 +5099,7 @@ do
  435.    IFS=$as_save_IFS
  436.    test -z "$as_dir" && as_dir=.
  437.      for ac_exec_ext in '' $ac_executable_extensions; do
  438. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  439. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  440.      ac_cv_prog_MSGFMT="$ac_prog"
  441.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  442.      break 2
  443. @@ -5536,8 +5519,6 @@ _ACEOF
  444.  esac
  445.  rm -rf conftest*
  446.    fi
  447. -
  448. -
  449.  fi
  450.  
  451.  
  452. @@ -5830,6 +5811,7 @@ for ac_header in \
  453.         arpa/inet.h \
  454.         arpa/nameser.h \
  455.         asm/types.h \
  456. +       attr/xattr.h \
  457.         capi20.h \
  458.         curses.h \
  459.         direct.h \
  460. @@ -6322,7 +6304,7 @@ do
  461.    IFS=$as_save_IFS
  462.    test -z "$as_dir" && as_dir=.
  463.      for ac_exec_ext in '' $ac_executable_extensions; do
  464. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  465. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  466.      ac_cv_path_LDD="$as_dir/$ac_word$ac_exec_ext"
  467.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  468.      break 2
  469. @@ -6365,7 +6347,7 @@ do
  470.    IFS=$as_save_IFS
  471.    test -z "$as_dir" && as_dir=.
  472.      for ac_exec_ext in '' $ac_executable_extensions; do
  473. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  474. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  475.      ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
  476.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  477.      break 2
  478. @@ -6405,7 +6387,7 @@ do
  479.    IFS=$as_save_IFS
  480.    test -z "$as_dir" && as_dir=.
  481.      for ac_exec_ext in '' $ac_executable_extensions; do
  482. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  483. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  484.      ac_cv_prog_ac_ct_DLLTOOL="dlltool"
  485.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  486.      break 2
  487. @@ -6457,7 +6439,7 @@ do
  488.    IFS=$as_save_IFS
  489.    test -z "$as_dir" && as_dir=.
  490.      for ac_exec_ext in '' $ac_executable_extensions; do
  491. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  492. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  493.      ac_cv_prog_DLLWRAP="${ac_tool_prefix}dllwrap"
  494.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  495.      break 2
  496. @@ -6497,7 +6479,7 @@ do
  497.    IFS=$as_save_IFS
  498.    test -z "$as_dir" && as_dir=.
  499.      for ac_exec_ext in '' $ac_executable_extensions; do
  500. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  501. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  502.      ac_cv_prog_ac_ct_DLLWRAP="dllwrap"
  503.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  504.      break 2
  505. @@ -6848,9 +6830,10 @@ if test $ac_cv_cflags__fPIC__shared__Wl_
  506.  fi
  507.  
  508.        echo '{ global: *; };' >conftest.map
  509. -      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map" >&5
  510. +      as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -shared -Wl,--version-script=conftest.map" | $as_tr_sh`
  511. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map" >&5
  512.  $as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map... " >&6; }
  513. -if ${ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map+:} false; then :
  514. +if eval \${$as_ac_var+:} false; then :
  515.    $as_echo_n "(cached) " >&6
  516.  else
  517.    ac_wine_try_cflags_saved=$CFLAGS
  518. @@ -6860,17 +6843,18 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
  519.  int main(int argc, char **argv) { return 0; }
  520.  _ACEOF
  521.  if ac_fn_c_try_link "$LINENO"; then :
  522. -  ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map=yes
  523. +  eval "$as_ac_var=yes"
  524.  else
  525. -  ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map=no
  526. +  eval "$as_ac_var=no"
  527.  fi
  528.  rm -f core conftest.err conftest.$ac_objext \
  529.      conftest$ac_exeext conftest.$ac_ext
  530.  CFLAGS=$ac_wine_try_cflags_saved
  531.  fi
  532. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map" >&5
  533. -$as_echo "$ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map" >&6; }
  534. -if test $ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map = yes; then :
  535. +eval ac_res=\$$as_ac_var
  536. +              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  537. +$as_echo "$ac_res" >&6; }
  538. +if test `eval 'as_val=${'$as_ac_var'};$as_echo "$as_val"'` = yes; then :
  539.    LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"
  540.  fi
  541.        rm -f conftest.map
  542. @@ -6988,9 +6972,10 @@ fi
  543.  
  544.        case $host_cpu in
  545.          *i[3456789]86* | x86_64)
  546. -          { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400" >&5
  547. +          as_ac_var=`$as_echo "ac_cv_cflags_-Wl,--section-start,.interp=0x7bf00400" | $as_tr_sh`
  548. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400" >&5
  549.  $as_echo_n "checking whether the compiler supports -Wl,--section-start,.interp=0x7bf00400... " >&6; }
  550. -if ${ac_cv_cflags__Wl___section_start__interp_0x7bf00400+:} false; then :
  551. +if eval \${$as_ac_var+:} false; then :
  552.    $as_echo_n "(cached) " >&6
  553.  else
  554.    ac_wine_try_cflags_saved=$CFLAGS
  555. @@ -7000,17 +6985,18 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
  556.  int main(int argc, char **argv) { return 0; }
  557.  _ACEOF
  558.  if ac_fn_c_try_link "$LINENO"; then :
  559. -  ac_cv_cflags__Wl___section_start__interp_0x7bf00400=yes
  560. +  eval "$as_ac_var=yes"
  561.  else
  562. -  ac_cv_cflags__Wl___section_start__interp_0x7bf00400=no
  563. +  eval "$as_ac_var=no"
  564.  fi
  565.  rm -f core conftest.err conftest.$ac_objext \
  566.      conftest$ac_exeext conftest.$ac_ext
  567.  CFLAGS=$ac_wine_try_cflags_saved
  568.  fi
  569. -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl___section_start__interp_0x7bf00400" >&5
  570. -$as_echo "$ac_cv_cflags__Wl___section_start__interp_0x7bf00400" >&6; }
  571. -if test $ac_cv_cflags__Wl___section_start__interp_0x7bf00400 = yes; then :
  572. +eval ac_res=\$$as_ac_var
  573. +              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
  574. +$as_echo "$ac_res" >&6; }
  575. +if test `eval 'as_val=${'$as_ac_var'};$as_echo "$as_val"'` = yes; then :
  576.    case $host_os in
  577.                             freebsd* | kfreebsd*-gnu) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x60000400" ;;
  578.                             *) LDEXECFLAGS="$LDEXECFLAGS -Wl,--section-start,.interp=0x7bf00400" ;;
  579. @@ -7035,7 +7021,7 @@ do
  580.    IFS=$as_save_IFS
  581.    test -z "$as_dir" && as_dir=.
  582.      for ac_exec_ext in '' $ac_executable_extensions; do
  583. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  584. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  585.      ac_cv_path_PRELINK="$as_dir/$ac_word$ac_exec_ext"
  586.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  587.      break 2
  588. @@ -7170,7 +7156,7 @@ do
  589.    IFS=$as_save_IFS
  590.    test -z "$as_dir" && as_dir=.
  591.      for ac_exec_ext in '' $ac_executable_extensions; do
  592. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  593. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  594.      ac_cv_prog_CROSSCC="$ac_prog"
  595.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  596.      break 2
  597. @@ -9974,7 +9960,7 @@ do
  598.    IFS=$as_save_IFS
  599.    test -z "$as_dir" && as_dir=.
  600.      for ac_exec_ext in '' $ac_executable_extensions; do
  601. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  602. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  603.      ac_cv_prog_sane_devel="sane-config"
  604.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  605.      break 2
  606. @@ -10150,7 +10136,7 @@ do
  607.    IFS=$as_save_IFS
  608.    test -z "$as_dir" && as_dir=.
  609.      for ac_exec_ext in '' $ac_executable_extensions; do
  610. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  611. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  612.      ac_cv_prog_gphoto2_devel="gphoto2-config"
  613.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  614.      break 2
  615. @@ -10188,7 +10174,7 @@ do
  616.    IFS=$as_save_IFS
  617.    test -z "$as_dir" && as_dir=.
  618.      for ac_exec_ext in '' $ac_executable_extensions; do
  619. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  620. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  621.      ac_cv_prog_gphoto2port_devel="gphoto2-port-config"
  622.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  623.      break 2
  624. @@ -10405,7 +10391,7 @@ do
  625.    IFS=$as_save_IFS
  626.    test -z "$as_dir" && as_dir=.
  627.      for ac_exec_ext in '' $ac_executable_extensions; do
  628. -  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
  629. +  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
  630.      ac_cv_prog_ft_devel="$ac_prog"
  631.      $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
  632.      break 2
  633. @@ -16529,16 +16515,16 @@ if (echo >conf$$.file) 2>/dev/null; then
  634.      # ... but there are two gotchas:
  635.      # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
  636.      # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
  637. -    # In both cases, we have to default to `cp -pR'.
  638. +    # In both cases, we have to default to `cp -p'.
  639.      ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
  640. -      as_ln_s='cp -pR'
  641. +      as_ln_s='cp -p'
  642.    elif ln conf$$.file conf$$ 2>/dev/null; then
  643.      as_ln_s=ln
  644.    else
  645. -    as_ln_s='cp -pR'
  646. +    as_ln_s='cp -p'
  647.    fi
  648.  else
  649. -  as_ln_s='cp -pR'
  650. +  as_ln_s='cp -p'
  651.  fi
  652.  rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
  653.  rmdir conf$$.dir 2>/dev/null
  654. @@ -16598,16 +16584,28 @@ else
  655.    as_mkdir_p=false
  656.  fi
  657.  
  658. -
  659. -# as_fn_executable_p FILE
  660. -# -----------------------
  661. -# Test if FILE is an executable regular file.
  662. -as_fn_executable_p ()
  663. -{
  664. -  test -f "$1" && test -x "$1"
  665. -} # as_fn_executable_p
  666. -as_test_x='test -x'
  667. -as_executable_p=as_fn_executable_p
  668. +if test -x / >/dev/null 2>&1; then
  669. +  as_test_x='test -x'
  670. +else
  671. +  if ls -dL / >/dev/null 2>&1; then
  672. +    as_ls_L_option=L
  673. +  else
  674. +    as_ls_L_option=
  675. +  fi
  676. +  as_test_x='
  677. +    eval sh -c '\''
  678. +      if test -d "$1"; then
  679. +       test -d "$1/.";
  680. +      else
  681. +       case $1 in #(
  682. +       -*)set "./$1";;
  683. +       esac;
  684. +       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
  685. +       ???[sx]*):;;*)false;;esac;fi
  686. +    '\'' sh
  687. +  '
  688. +fi
  689. +as_executable_p=$as_test_x
  690.  
  691.  # Sed expression to map a string onto a valid CPP name.
  692.  as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
  693. @@ -16792,7 +16790,7 @@ fi
  694.  _ACEOF
  695.  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  696.  if \$ac_cs_recheck; then
  697. -  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
  698. +  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
  699.    shift
  700.    \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
  701.    CONFIG_SHELL='$SHELL'
  702. diff -rupN wine-1.5.19/configure.ac wine-silverlight-1.5.19/configure.ac
  703. --- wine-1.5.19/configure.ac    2012-12-07 11:17:32.000000000 -0800
  704. +++ wine-silverlight-1.5.19/configure.ac        2012-12-20 18:16:39.102926747 -0800
  705. @@ -417,6 +417,7 @@ AC_CHECK_HEADERS(\
  706.         arpa/inet.h \
  707.         arpa/nameser.h \
  708.         asm/types.h \
  709. +       attr/xattr.h \
  710.         capi20.h \
  711.         curses.h \
  712.         direct.h \
  713. diff -rupN wine-1.5.19/dlls/advapi32/tests/security.c wine-silverlight-1.5.19/dlls/advapi32/tests/security.c
  714. --- wine-1.5.19/dlls/advapi32/tests/security.c  2012-12-07 11:17:32.000000000 -0800
  715. +++ wine-silverlight-1.5.19/dlls/advapi32/tests/security.c      2012-12-20 18:16:39.492900859 -0800
  716. @@ -3155,7 +3155,7 @@ static void test_GetNamedSecurityInfoA(v
  717.          bret = pGetAce(pDacl, 0, (VOID **)&ace);
  718.          ok(bret, "Failed to get Current User ACE.\n");
  719.          bret = EqualSid(&ace->SidStart, user_sid);
  720. -        todo_wine ok(bret, "Current User ACE != Current User SID.\n");
  721. +        ok(bret, "Current User ACE != Current User SID.\n");
  722.          ok(((ACE_HEADER *)ace)->AceFlags == 0,
  723.             "Current User ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags);
  724.          ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  725. @@ -3166,8 +3166,7 @@ static void test_GetNamedSecurityInfoA(v
  726.          bret = pGetAce(pDacl, 1, (VOID **)&ace);
  727.          ok(bret, "Failed to get Administators Group ACE.\n");
  728.          bret = EqualSid(&ace->SidStart, admin_sid);
  729. -        todo_wine ok(bret || broken(!bret) /* win2k */,
  730. -                     "Administators Group ACE != Administators Group SID.\n");
  731. +        ok(bret || broken(!bret) /* win2k */, "Administators Group ACE != Administators Group SID.\n");
  732.          ok(((ACE_HEADER *)ace)->AceFlags == 0,
  733.             "Administators Group ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags);
  734.          ok(ace->Mask == 0x1f01ff || broken(ace->Mask == GENERIC_ALL) /* win2k */,
  735. @@ -3748,7 +3747,7 @@ static void test_GetSecurityInfo(void)
  736.          bret = pGetAce(pDacl, 0, (VOID **)&ace);
  737.          ok(bret, "Failed to get Current User ACE.\n");
  738.          bret = EqualSid(&ace->SidStart, user_sid);
  739. -        todo_wine ok(bret, "Current User ACE != Current User SID.\n");
  740. +        ok(bret, "Current User ACE != Current User SID.\n");
  741.          ok(((ACE_HEADER *)ace)->AceFlags == 0,
  742.             "Current User ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags);
  743.          ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  744. @@ -3759,7 +3758,7 @@ static void test_GetSecurityInfo(void)
  745.          bret = pGetAce(pDacl, 1, (VOID **)&ace);
  746.          ok(bret, "Failed to get Administators Group ACE.\n");
  747.          bret = EqualSid(&ace->SidStart, admin_sid);
  748. -        todo_wine ok(bret, "Administators Group ACE != Administators Group SID.\n");
  749. +        ok(bret, "Administators Group ACE != Administators Group SID.\n");
  750.          ok(((ACE_HEADER *)ace)->AceFlags == 0,
  751.             "Administators Group ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags);
  752.          ok(ace->Mask == 0x1f01ff, "Administators Group ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  753. diff -rupN wine-1.5.19/dlls/kernel32/tests/directory.c wine-silverlight-1.5.19/dlls/kernel32/tests/directory.c
  754. --- wine-1.5.19/dlls/kernel32/tests/directory.c 2012-12-07 11:17:32.000000000 -0800
  755. +++ wine-silverlight-1.5.19/dlls/kernel32/tests/directory.c     2012-12-20 18:16:39.286247866 -0800
  756. @@ -24,6 +24,15 @@
  757.  #include "windef.h"
  758.  #include "winbase.h"
  759.  #include "winerror.h"
  760. +#include "aclapi.h"
  761. +
  762. +static DWORD (WINAPI *pGetNamedSecurityInfoA)(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,
  763. +                                              PSID*, PSID*, PACL*, PACL*,
  764. +                                              PSECURITY_DESCRIPTOR*);
  765. +static BOOL (WINAPI *pGetAclInformation)(PACL,LPVOID,DWORD,ACL_INFORMATION_CLASS);
  766. +static BOOL (WINAPI *pCreateWellKnownSid)(WELL_KNOWN_SID_TYPE,PSID,PSID,DWORD*);
  767. +static BOOL (WINAPI *pAddAccessAllowedAceEx)(PACL, DWORD, DWORD, DWORD, PSID);
  768. +static BOOL (WINAPI *pGetAce)(PACL,DWORD,LPVOID*);
  769.  
  770.  /* If you change something in these tests, please do the same
  771.   * for GetSystemDirectory tests.
  772. @@ -486,8 +495,166 @@ static void test_SetCurrentDirectoryA(vo
  773.      ok( GetLastError() == ERROR_PATH_NOT_FOUND, "wrong error %d\n", GetLastError() );
  774.  }
  775.  
  776. +static void test_security_attributes(void)
  777. +{
  778. +    char admin_ptr[sizeof(SID)+sizeof(ULONG)*SID_MAX_SUB_AUTHORITIES], dacl[100], *user;
  779. +    DWORD sid_size = sizeof(admin_ptr), user_size;
  780. +    PSID admin_sid = (PSID) admin_ptr, user_sid;
  781. +    char sd[SECURITY_DESCRIPTOR_MIN_LENGTH];
  782. +    PSECURITY_DESCRIPTOR pSD = &sd;
  783. +    ACL_SIZE_INFORMATION acl_size;
  784. +    PACL pDacl = (PACL) &dacl;
  785. +    ACCESS_ALLOWED_ACE *ace;
  786. +    SECURITY_ATTRIBUTES sa;
  787. +    char tmpfile[MAX_PATH];
  788. +    char tmpdir[MAX_PATH];
  789. +    HANDLE token, hTemp;
  790. +    struct _SID *owner;
  791. +    BOOL bret = TRUE;
  792. +    DWORD error;
  793. +
  794. +    if (!pGetNamedSecurityInfoA || !pCreateWellKnownSid)
  795. +    {
  796. +        win_skip("Required functions are not available\n");
  797. +        return;
  798. +    }
  799. +
  800. +    if (!OpenThreadToken(GetCurrentThread(), TOKEN_READ, TRUE, &token))
  801. +    {
  802. +        if (GetLastError() != ERROR_NO_TOKEN) bret = FALSE;
  803. +        else if (!OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &token)) bret = FALSE;
  804. +    }
  805. +    if (!bret)
  806. +    {
  807. +        win_skip("Failed to get current user token\n");
  808. +        return;
  809. +    }
  810. +    bret = GetTokenInformation(token, TokenUser, NULL, 0, &user_size);
  811. +    ok(!bret && (GetLastError() == ERROR_INSUFFICIENT_BUFFER),
  812. +        "GetTokenInformation(TokenUser) failed with error %d\n", GetLastError());
  813. +    user = HeapAlloc(GetProcessHeap(), 0, user_size);
  814. +    bret = GetTokenInformation(token, TokenUser, user, user_size, &user_size);
  815. +    ok(bret, "GetTokenInformation(TokenUser) failed with error %d\n", GetLastError());
  816. +    CloseHandle( token );
  817. +    user_sid = ((TOKEN_USER *)user)->User.Sid;
  818. +
  819. +    sa.nLength = sizeof(sa);
  820. +    sa.lpSecurityDescriptor = pSD;
  821. +    sa.bInheritHandle = TRUE;
  822. +    InitializeSecurityDescriptor(pSD, SECURITY_DESCRIPTOR_REVISION);
  823. +    pCreateWellKnownSid(WinBuiltinAdministratorsSid, NULL, admin_sid, &sid_size);
  824. +    bret = InitializeAcl(pDacl, sizeof(dacl), ACL_REVISION);
  825. +    ok(bret, "Failed to initialize ACL.\n");
  826. +    bret = pAddAccessAllowedAceEx(pDacl, ACL_REVISION, OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE,
  827. +                                  GENERIC_ALL, user_sid);
  828. +    ok(bret, "Failed to add Current User to ACL.\n");
  829. +    bret = pAddAccessAllowedAceEx(pDacl, ACL_REVISION, OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE,
  830. +                                  GENERIC_ALL, admin_sid);
  831. +    ok(bret, "Failed to add Administrator Group to ACL.\n");
  832. +    bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE);
  833. +    ok(bret, "Failed to add ACL to security desciptor.\n");
  834. +
  835. +    GetTempPathA(MAX_PATH, tmpdir);
  836. +    lstrcatA(tmpdir, "Please Remove Me");
  837. +    bret = CreateDirectoryA(tmpdir, &sa);
  838. +    ok(bret == TRUE, "CreateDirectoryA(%s) failed err=%d\n", tmpdir, GetLastError());
  839. +
  840. +    SetLastError(0xdeadbeef);
  841. +    error = pGetNamedSecurityInfoA(tmpdir, SE_FILE_OBJECT,
  842. +                                   OWNER_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION, (PSID*)&owner,
  843. +                                   NULL, &pDacl, NULL, &pSD);
  844. +    if (error != ERROR_SUCCESS && (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED))
  845. +    {
  846. +        win_skip("GetNamedSecurityInfoA is not implemented\n");
  847. +        goto done;
  848. +    }
  849. +    ok(!error, "GetNamedSecurityInfo failed with error %d\n", error);
  850. +
  851. +    bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
  852. +    ok(bret, "GetAclInformation failed\n");
  853. +    ok(acl_size.AceCount == 2, "GetAclInformation returned unexpected entry count (%d != 2).\n",
  854. +                               acl_size.AceCount);
  855. +    if (acl_size.AceCount > 0)
  856. +    {
  857. +        bret = pGetAce(pDacl, 0, (VOID **)&ace);
  858. +        ok(bret, "Failed to get Current User ACE.\n");
  859. +        bret = EqualSid(&ace->SidStart, user_sid);
  860. +        ok(bret, "Current User ACE != Current User SID.\n");
  861. +        ok(((ACE_HEADER *)ace)->AceFlags == (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE),
  862. +           "Current User ACE has unexpected flags (0x%x != 0x03)\n", ((ACE_HEADER *)ace)->AceFlags);
  863. +        ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  864. +                                  ace->Mask);
  865. +    }
  866. +    if (acl_size.AceCount > 1)
  867. +    {
  868. +        bret = pGetAce(pDacl, 1, (VOID **)&ace);
  869. +        ok(bret, "Failed to get Administators Group ACE.\n");
  870. +        bret = EqualSid(&ace->SidStart, admin_sid);
  871. +        ok(bret, "Administators Group ACE != Administators Group SID.\n");
  872. +        ok(((ACE_HEADER *)ace)->AceFlags == (OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE),
  873. +           "Administators Group ACE has unexpected flags (0x%x != 0x03)\n", ((ACE_HEADER *)ace)->AceFlags);
  874. +        ok(ace->Mask == 0x1f01ff, "Administators Group ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  875. +                                  ace->Mask);
  876. +    }
  877. +
  878. +    /* Test inheritance of ACLs */
  879. +    strcpy(tmpfile, tmpdir);
  880. +    lstrcatA(tmpfile, "/tmpfile");
  881. +    hTemp = CreateFileA(tmpfile, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW,
  882. +                        FILE_FLAG_DELETE_ON_CLOSE, NULL);
  883. +    error = pGetNamedSecurityInfoA(tmpfile, SE_FILE_OBJECT,
  884. +                                   OWNER_SECURITY_INFORMATION|DACL_SECURITY_INFORMATION, (PSID*)&owner,
  885. +                                   NULL, &pDacl, NULL, &pSD);
  886. +    ok(error == ERROR_SUCCESS, "Failed to get permissions on file.\n");
  887. +    bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
  888. +    ok(bret, "GetAclInformation failed\n");
  889. +    ok(acl_size.AceCount == 2, "GetAclInformation returned unexpected entry count (%d != 2).\n",
  890. +                               acl_size.AceCount);
  891. +    if (acl_size.AceCount > 0)
  892. +    {
  893. +        bret = pGetAce(pDacl, 0, (VOID **)&ace);
  894. +        ok(bret, "Inherited Failed to get Current User ACE.\n");
  895. +        bret = EqualSid(&ace->SidStart, user_sid);
  896. +        ok(bret, "Inherited Current User ACE != Current User SID.\n");
  897. +        ok(((ACE_HEADER *)ace)->AceFlags == INHERITED_ACE,
  898. +           "Inherited Current User ACE has unexpected flags (0x%x != 0x10)\n", ((ACE_HEADER *)ace)->AceFlags);
  899. +        ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  900. +                                  ace->Mask);
  901. +    }
  902. +    if (acl_size.AceCount > 1)
  903. +    {
  904. +        bret = pGetAce(pDacl, 1, (VOID **)&ace);
  905. +        ok(bret, "Inherited Failed to get Administators Group ACE.\n");
  906. +        bret = EqualSid(&ace->SidStart, admin_sid);
  907. +        ok(bret, "Inherited Administators Group ACE != Administators Group SID.\n");
  908. +        ok(((ACE_HEADER *)ace)->AceFlags == INHERITED_ACE,
  909. +           "Inherited Administators Group ACE has unexpected flags (0x%x != 0x10)\n", ((ACE_HEADER *)ace)->AceFlags);
  910. +        ok(ace->Mask == 0x1f01ff, "Administators Group ACE has unexpected mask (0x%x != 0x1f01ff)\n",
  911. +                                  ace->Mask);
  912. +    }
  913. +    CloseHandle(hTemp);
  914. +
  915. +done:
  916. +    HeapFree(GetProcessHeap(), 0, user);
  917. +    bret = RemoveDirectoryA(tmpdir);
  918. +    ok(bret == TRUE, "RemoveDirectoryA should always succeed\n");
  919. +}
  920. +
  921. +void init(void)
  922. +{
  923. +    HMODULE hmod = GetModuleHandle("advapi32.dll");
  924. +
  925. +    pGetNamedSecurityInfoA = (void *)GetProcAddress(hmod, "GetNamedSecurityInfoA");
  926. +    pAddAccessAllowedAceEx = (void *)GetProcAddress(hmod, "AddAccessAllowedAceEx");
  927. +    pCreateWellKnownSid = (void *)GetProcAddress(hmod, "CreateWellKnownSid");
  928. +    pGetAclInformation = (void *)GetProcAddress(hmod, "GetAclInformation");
  929. +    pGetAce = (void *)GetProcAddress(hmod, "GetAce");
  930. +}
  931. +
  932.  START_TEST(directory)
  933.  {
  934. +    init();
  935. +
  936.      test_GetWindowsDirectoryA();
  937.      test_GetWindowsDirectoryW();
  938.  
  939. @@ -501,4 +668,6 @@ START_TEST(directory)
  940.      test_RemoveDirectoryW();
  941.  
  942.      test_SetCurrentDirectoryA();
  943. +
  944. +    test_security_attributes();
  945.  }
  946. diff -rupN wine-1.5.19/dlls/Makefile wine-silverlight-1.5.19/dlls/Makefile
  947. --- wine-1.5.19/dlls/Makefile   1969-12-31 16:00:00.000000000 -0800
  948. +++ wine-silverlight-1.5.19/dlls/Makefile       2012-12-20 18:16:39.386241250 -0800
  949. @@ -0,0 +1,1620 @@
  950. +# Automatically generated by make_makefiles; DO NOT EDIT!!
  951. +
  952. +TOPSRCDIR = ..
  953. +TOPOBJDIR = ..
  954. +SRCDIR    = .
  955. +
  956. +
  957. +INSTALLDIRS = $(DESTDIR)$(dlldir)
  958. +
  959. +DLLSUBDIRS     =  \
  960. +       acledit \
  961. +       aclui \
  962. +       activeds \
  963. +       actxprxy \
  964. +       advapi32 \
  965. +       advpack \
  966. +       amstream \
  967. +       appwiz.cpl \
  968. +       atl \
  969. +       authz \
  970. +       avicap32 \
  971. +       avifil32 \
  972. +       avifile.dll16 \
  973. +       avrt \
  974. +       bcrypt \
  975. +       browseui \
  976. +       cabinet \
  977. +       capi2032 \
  978. +       cards \
  979. +       cfgmgr32 \
  980. +       clusapi \
  981. +       comcat \
  982. +       comctl32 \
  983. +       comdlg32 \
  984. +       comm.drv16 \
  985. +       commdlg.dll16 \
  986. +       compobj.dll16 \
  987. +       compstui \
  988. +       credui \
  989. +       crtdll \
  990. +       crypt32 \
  991. +       cryptdlg \
  992. +       cryptdll \
  993. +       cryptnet \
  994. +       cryptui \
  995. +       ctapi32 \
  996. +       ctl3d.dll16 \
  997. +       ctl3d32 \
  998. +       ctl3dv2.dll16 \
  999. +       d3d10 \
  1000. +       d3d10core \
  1001. +       d3d8 \
  1002. +       d3d9 \
  1003. +       d3dim \
  1004. +       d3drm \
  1005. +       d3dx9_24 \
  1006. +       d3dx9_25 \
  1007. +       d3dx9_26 \
  1008. +       d3dx9_27 \
  1009. +       d3dx9_28 \
  1010. +       d3dx9_29 \
  1011. +       d3dx9_30 \
  1012. +       d3dx9_31 \
  1013. +       d3dx9_32 \
  1014. +       d3dx9_33 \
  1015. +       d3dx9_34 \
  1016. +       d3dx9_35 \
  1017. +       d3dx9_36 \
  1018. +       d3dx9_37 \
  1019. +       d3dx9_38 \
  1020. +       d3dx9_39 \
  1021. +       d3dx9_40 \
  1022. +       d3dx9_41 \
  1023. +       d3dx9_42 \
  1024. +       d3dxof \
  1025. +       dbghelp \
  1026. +       dciman32 \
  1027. +       ddeml.dll16 \
  1028. +       ddraw \
  1029. +       ddrawex \
  1030. +       devenum \
  1031. +       dinput \
  1032. +       dinput8 \
  1033. +       dispdib.dll16 \
  1034. +       display.drv16 \
  1035. +       dmband \
  1036. +       dmcompos \
  1037. +       dmime \
  1038. +       dmloader \
  1039. +       dmscript \
  1040. +       dmstyle \
  1041. +       dmsynth \
  1042. +       dmusic \
  1043. +       dmusic32 \
  1044. +       dnsapi \
  1045. +       dplay \
  1046. +       dplayx \
  1047. +       dpnaddr \
  1048. +       dpnet \
  1049. +       dpnhpast \
  1050. +       dpnlobby \
  1051. +       dpwsockx \
  1052. +       drmclien \
  1053. +       dsound \
  1054. +       dssenh \
  1055. +       dswave \
  1056. +       dwmapi \
  1057. +       dxdiagn \
  1058. +       dxgi \
  1059. +       faultrep \
  1060. +       fltlib \
  1061. +       fusion \
  1062. +       fwpuclnt \
  1063. +       gdi.exe16 \
  1064. +       gdi32 \
  1065. +       gdiplus \
  1066. +       glu32 \
  1067. +       gphoto2.ds \
  1068. +       gpkcsp \
  1069. +       hal \
  1070. +       hhctrl.ocx \
  1071. +       hid \
  1072. +       hlink \
  1073. +       hnetcfg \
  1074. +       httpapi \
  1075. +       iccvid \
  1076. +       icmp \
  1077. +       ifsmgr.vxd \
  1078. +       imaadp32.acm \
  1079. +       imagehlp \
  1080. +       imm.dll16 \
  1081. +       imm32 \
  1082. +       inetcomm \
  1083. +       inetmib1 \
  1084. +       infosoft \
  1085. +       initpki \
  1086. +       inkobj \
  1087. +       inseng \
  1088. +       iphlpapi \
  1089. +       itircl \
  1090. +       itss \
  1091. +       jscript \
  1092. +       kernel32 \
  1093. +       keyboard.drv16 \
  1094. +       loadperf \
  1095. +       localspl \
  1096. +       localui \
  1097. +       lz32 \
  1098. +       lzexpand.dll16 \
  1099. +       mapi32 \
  1100. +       mciavi32 \
  1101. +       mcicda \
  1102. +       mciqtz32 \
  1103. +       mciseq \
  1104. +       mciwave \
  1105. +       midimap \
  1106. +       mlang \
  1107. +       mmdevapi \
  1108. +       mmdevldr.vxd \
  1109. +       mmsystem.dll16 \
  1110. +       monodebg.vxd \
  1111. +       mountmgr.sys \
  1112. +       mouse.drv16 \
  1113. +       mpr \
  1114. +       mprapi \
  1115. +       msacm.dll16 \
  1116. +       msacm32.drv \
  1117. +       msacm32 \
  1118. +       msadp32.acm \
  1119. +       mscat32 \
  1120. +       mscms \
  1121. +       mscoree \
  1122. +       msctf \
  1123. +       msdaps \
  1124. +       msdmo \
  1125. +       msftedit \
  1126. +       msg711.acm \
  1127. +       msgsm32.acm \
  1128. +       mshtml.tlb \
  1129. +       mshtml \
  1130. +       msi \
  1131. +       msimg32 \
  1132. +       msimtf \
  1133. +       msisip \
  1134. +       msisys.ocx \
  1135. +       msnet32 \
  1136. +       msrle32 \
  1137. +       mssign32 \
  1138. +       mssip32 \
  1139. +       mstask \
  1140. +       msvcirt \
  1141. +       msvcr71 \
  1142. +       msvcrt \
  1143. +       msvcrt20 \
  1144. +       msvcrt40 \
  1145. +       msvcrtd \
  1146. +       msvfw32 \
  1147. +       msvidc32 \
  1148. +       msvideo.dll16 \
  1149. +       mswsock \
  1150. +       msxml3 \
  1151. +       nddeapi \
  1152. +       netapi32 \
  1153. +       newdev \
  1154. +       ntdll \
  1155. +       ntdsapi \
  1156. +       ntoskrnl.exe \
  1157. +       ntprint \
  1158. +       objsel \
  1159. +       odbc32 \
  1160. +       odbccp32 \
  1161. +       ole2.dll16 \
  1162. +       ole2conv.dll16 \
  1163. +       ole2disp.dll16 \
  1164. +       ole2nls.dll16 \
  1165. +       ole2prox.dll16 \
  1166. +       ole2thk.dll16 \
  1167. +       ole32 \
  1168. +       oleacc \
  1169. +       oleaut32 \
  1170. +       olecli.dll16 \
  1171. +       olecli32 \
  1172. +       oledb32 \
  1173. +       oledlg \
  1174. +       olepro32 \
  1175. +       olesvr.dll16 \
  1176. +       olesvr32 \
  1177. +       olethk32 \
  1178. +       openal32 \
  1179. +       opengl32 \
  1180. +       pdh \
  1181. +       pidgen \
  1182. +       powrprof \
  1183. +       printui \
  1184. +       propsys \
  1185. +       psapi \
  1186. +       pstorec \
  1187. +       qcap \
  1188. +       qedit \
  1189. +       qmgr \
  1190. +       qmgrprxy \
  1191. +       quartz \
  1192. +       query \
  1193. +       rasapi16.dll16 \
  1194. +       rasapi32 \
  1195. +       rasdlg \
  1196. +       resutils \
  1197. +       riched20 \
  1198. +       riched32 \
  1199. +       rpcrt4 \
  1200. +       rsabase \
  1201. +       rsaenh \
  1202. +       rtutils \
  1203. +       sane.ds \
  1204. +       sccbase \
  1205. +       schannel \
  1206. +       secur32 \
  1207. +       security \
  1208. +       sensapi \
  1209. +       serialui \
  1210. +       setupapi \
  1211. +       setupx.dll16 \
  1212. +       sfc \
  1213. +       sfc_os \
  1214. +       shdoclc \
  1215. +       shdocvw \
  1216. +       shell.dll16 \
  1217. +       shell32 \
  1218. +       shfolder \
  1219. +       shlwapi \
  1220. +       slbcsp \
  1221. +       slc \
  1222. +       snmpapi \
  1223. +       softpub \
  1224. +       sound.drv16 \
  1225. +       spoolss \
  1226. +       stdole2.tlb \
  1227. +       stdole32.tlb \
  1228. +       sti \
  1229. +       storage.dll16 \
  1230. +       stress.dll16 \
  1231. +       svrapi \
  1232. +       sxs \
  1233. +       system.drv16 \
  1234. +       t2embed \
  1235. +       tapi32 \
  1236. +       toolhelp.dll16 \
  1237. +       traffic \
  1238. +       twain.dll16 \
  1239. +       twain_32 \
  1240. +       typelib.dll16 \
  1241. +       unicows \
  1242. +       updspapi \
  1243. +       url \
  1244. +       urlmon \
  1245. +       user32 \
  1246. +       userenv \
  1247. +       usp10 \
  1248. +       uxtheme \
  1249. +       vdhcp.vxd \
  1250. +       vdmdbg \
  1251. +       ver.dll16 \
  1252. +       version \
  1253. +       vmm.vxd \
  1254. +       vnbt.vxd \
  1255. +       vnetbios.vxd \
  1256. +       vtdapi.vxd \
  1257. +       vwin32.vxd \
  1258. +       w32skrnl \
  1259. +       w32sys.dll16 \
  1260. +       wbemprox \
  1261. +       wiaservc \
  1262. +       win32s16.dll16 \
  1263. +       win87em.dll16 \
  1264. +       winaspi.dll16 \
  1265. +       windebug.dll16 \
  1266. +       windowscodecs \
  1267. +       winealsa.drv \
  1268. +       wineaudioio.drv \
  1269. +       winecoreaudio.drv \
  1270. +       wined3d \
  1271. +       winedos \
  1272. +       wineesd.drv \
  1273. +       winejack.drv \
  1274. +       winejoystick.drv \
  1275. +       winemapi \
  1276. +       winemp3.acm \
  1277. +       winenas.drv \
  1278. +       wineoss.drv \
  1279. +       wineps.drv \
  1280. +       wineps16.drv16 \
  1281. +       winex11.drv \
  1282. +       wing.dll16 \
  1283. +       wing32 \
  1284. +       winhttp \
  1285. +       wininet \
  1286. +       winmm \
  1287. +       winnls.dll16 \
  1288. +       winnls32 \
  1289. +       winscard \
  1290. +       winsock.dll16 \
  1291. +       winspool.drv \
  1292. +       wintab.dll16 \
  1293. +       wintab32 \
  1294. +       wintrust \
  1295. +       wldap32 \
  1296. +       wmi \
  1297. +       wmiutils \
  1298. +       wnaspi32 \
  1299. +       wow32 \
  1300. +       ws2_32 \
  1301. +       wsock32 \
  1302. +       wtsapi32 \
  1303. +       wuapi \
  1304. +       wuaueng \
  1305. +       xinput1_1 \
  1306. +       xinput1_2 \
  1307. +       xinput1_3 \
  1308. +       xinput9_1_0 \
  1309. +       xmllite
  1310. +IMPLIBSUBDIRS  =  \
  1311. +       adsiid \
  1312. +       dxerr8 \
  1313. +       dxerr9 \
  1314. +       dxguid \
  1315. +       strmiids \
  1316. +       uuid \
  1317. +       winecrt0
  1318. +TESTSUBDIRS    =  \
  1319. +       advapi32/tests \
  1320. +       advpack/tests \
  1321. +       amstream/tests \
  1322. +       browseui/tests \
  1323. +       cabinet/tests \
  1324. +       comcat/tests \
  1325. +       comctl32/tests \
  1326. +       comdlg32/tests \
  1327. +       credui/tests \
  1328. +       crypt32/tests \
  1329. +       cryptnet/tests \
  1330. +       cryptui/tests \
  1331. +       d3d10/tests \
  1332. +       d3d10core/tests \
  1333. +       d3d8/tests \
  1334. +       d3d9/tests \
  1335. +       d3drm/tests \
  1336. +       d3dx9_36/tests \
  1337. +       d3dxof/tests \
  1338. +       ddraw/tests \
  1339. +       ddrawex/tests \
  1340. +       dinput/tests \
  1341. +       dnsapi/tests \
  1342. +       dplayx/tests \
  1343. +       dsound/tests \
  1344. +       dxgi/tests \
  1345. +       fusion/tests \
  1346. +       gdi32/tests \
  1347. +       gdiplus/tests \
  1348. +       hlink/tests \
  1349. +       imagehlp/tests \
  1350. +       imm32/tests \
  1351. +       inetcomm/tests \
  1352. +       inetmib1/tests \
  1353. +       infosoft/tests \
  1354. +       iphlpapi/tests \
  1355. +       itss/tests \
  1356. +       jscript/tests \
  1357. +       kernel32/tests \
  1358. +       localspl/tests \
  1359. +       localui/tests \
  1360. +       lz32/tests \
  1361. +       mapi32/tests \
  1362. +       mlang/tests \
  1363. +       mmdevapi/tests \
  1364. +       msacm32/tests \
  1365. +       mscms/tests \
  1366. +       msctf/tests \
  1367. +       mshtml/tests \
  1368. +       msi/tests \
  1369. +       mstask/tests \
  1370. +       msvcrt/tests \
  1371. +       msvcrtd/tests \
  1372. +       msvfw32/tests \
  1373. +       msxml3/tests \
  1374. +       netapi32/tests \
  1375. +       ntdll/tests \
  1376. +       ntdsapi/tests \
  1377. +       ntprint/tests \
  1378. +       odbccp32/tests \
  1379. +       ole32/tests \
  1380. +       oleacc/tests \
  1381. +       oleaut32/tests \
  1382. +       oledb32/tests \
  1383. +       opengl32/tests \
  1384. +       pdh/tests \
  1385. +       psapi/tests \
  1386. +       qedit/tests \
  1387. +       qmgr/tests \
  1388. +       quartz/tests \
  1389. +       rasapi32/tests \
  1390. +       riched20/tests \
  1391. +       riched32/tests \
  1392. +       rpcrt4/tests \
  1393. +       rsaenh/tests \
  1394. +       schannel/tests \
  1395. +       secur32/tests \
  1396. +       serialui/tests \
  1397. +       setupapi/tests \
  1398. +       shdocvw/tests \
  1399. +       shell32/tests \
  1400. +       shlwapi/tests \
  1401. +       snmpapi/tests \
  1402. +       spoolss/tests \
  1403. +       sti/tests \
  1404. +       twain_32/tests \
  1405. +       urlmon/tests \
  1406. +       user32/tests \
  1407. +       userenv/tests \
  1408. +       usp10/tests \
  1409. +       uxtheme/tests \
  1410. +       version/tests \
  1411. +       windowscodecs/tests \
  1412. +       winhttp/tests \
  1413. +       wininet/tests \
  1414. +       winmm/tests \
  1415. +       winspool.drv/tests \
  1416. +       wintab32/tests \
  1417. +       wintrust/tests \
  1418. +       wldap32/tests \
  1419. +       ws2_32/tests \
  1420. +       xinput1_3/tests
  1421. +SUBDIRS        = $(DLLSUBDIRS) $(IMPLIBSUBDIRS) $(TESTSUBDIRS)
  1422. +BUILDSUBDIRS   = $(DLLSUBDIRS) $(TESTSUBDIRS)
  1423. +INSTALLSUBDIRS = $(DLLSUBDIRS) $(IMPLIBSUBDIRS)
  1424. +DOCSUBDIRS     = $(DLLSUBDIRS)
  1425. +
  1426. +# 16-bit dlls
  1427. +
  1428. +WIN16_FILES = \
  1429. +       krnl386.exe16 \
  1430. +       user.exe16 \
  1431. +       wprocs.dll16
  1432. +
  1433. +# Global rules shared by all makefiles     -*-Makefile-*-
  1434. +#
  1435. +# Each individual makefile must define the following variables:
  1436. +# TOPSRCDIR    : top-level source directory
  1437. +# TOPOBJDIR    : top-level object directory
  1438. +# SRCDIR       : source directory for this module
  1439. +# MODULE       : name of the module being built
  1440. +#
  1441. +# Each individual makefile may define the following additional variables:
  1442. +# C_SRCS       : C sources for the module
  1443. +# C_SRCS16     : 16-bit C sources for the module
  1444. +# RC_SRCS      : resource source files
  1445. +# EXTRA_SRCS   : extra source files for make depend
  1446. +# EXTRA_OBJS   : extra object files
  1447. +# IMPORTS      : dlls to import
  1448. +# DELAYIMPORTS : dlls to import in delayed mode
  1449. +# SUBDIRS      : subdirectories that contain a Makefile
  1450. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  1451. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  1452. +# MODCFLAGS    : extra CFLAGS for this module
  1453. +
  1454. +# First some useful definitions
  1455. +
  1456. +SHELL     = /bin/sh
  1457. +CC        = ccache gcc -m32
  1458. +CFLAGS    = -g -O2
  1459. +CPPFLAGS  =
  1460. +LIBS      =
  1461. +BISON     = bison
  1462. +FLEX      = flex
  1463. +EXEEXT    =
  1464. +OBJEXT    = o
  1465. +LIBEXT    = so
  1466. +DLLEXT    = .so
  1467. +TOOLSEXT  =
  1468. +IMPLIBEXT = def
  1469. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  1470. +DLLTOOL   = i586-mingw32msvc-dlltool
  1471. +DLLWRAP   =
  1472. +AR        = ar
  1473. +ARFLAGS   = rc
  1474. +RANLIB    = ranlib
  1475. +STRIP     = strip
  1476. +LN        = ln
  1477. +LN_S      = ln -s
  1478. +TOOLSDIR  = $(TOPOBJDIR)
  1479. +LDFLAGS   =
  1480. +PRELINK   = /usr/sbin/prelink
  1481. +RM        = rm -f
  1482. +MV        = mv
  1483. +LINT      =
  1484. +LINTFLAGS =
  1485. +FONTFORGE = fontforge
  1486. +RSVG      = false
  1487. +ICOTOOL   = icotool
  1488. +FAKEEXT   = $(DLLEXT:.so=.fake)
  1489. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  1490. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  1491. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  1492. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  1493. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  1494. +TARGETFLAGS  = -m32
  1495. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  1496. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  1497. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  1498. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  1499. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  1500. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  1501. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  1502. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  1503. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  1504. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  1505. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  1506. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  1507. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  1508. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  1509. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  1510. +RC           = $(WRC)
  1511. +RC16         = $(WRC)
  1512. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  1513. +RC16FLAGS    = -O res16 $(RCFLAGS)
  1514. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  1515. +DLLDIR       = $(TOPOBJDIR)/dlls
  1516. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  1517. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  1518. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  1519. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  1520. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  1521. +
  1522. +
  1523. +
  1524. +# Installation infos
  1525. +
  1526. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  1527. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  1528. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  1529. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  1530. +prefix          = /usr/local
  1531. +exec_prefix     = ${prefix}
  1532. +bindir          = ${exec_prefix}/bin
  1533. +libdir          = ${exec_prefix}/lib
  1534. +datarootdir     = ${prefix}/share
  1535. +datadir         = ${datarootdir}
  1536. +infodir         = ${datarootdir}/info
  1537. +mandir          = ${datarootdir}/man
  1538. +sysconfdir      = ${prefix}/etc
  1539. +includedir      = ${prefix}/include/wine
  1540. +dlldir          = ${exec_prefix}/lib/wine
  1541. +fakedlldir      = $(dlldir)/fakedlls
  1542. +prog_manext     = 1
  1543. +api_manext      = 3w
  1544. +conf_manext     = 5
  1545. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  1546. +
  1547. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  1548. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  1549. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  1550. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  1551. +
  1552. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  1553. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  1554. +
  1555. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  1556. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  1557. +
  1558. +LINTS  = $(C_SRCS:.c=.ln)
  1559. +
  1560. +# 'all' target first in case the enclosing Makefile didn't define any target
  1561. +
  1562. +all:
  1563. +
  1564. +filter: dummy
  1565. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  1566. +
  1567. +.PHONY: all filter
  1568. +
  1569. +# Implicit rules
  1570. +
  1571. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  1572. +
  1573. +.c.o:
  1574. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  1575. +
  1576. +.y.tab.c:
  1577. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  1578. +
  1579. +.y.tab.h:
  1580. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  1581. +
  1582. +.l.yy.c:
  1583. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  1584. +
  1585. +.mc.mc.rc:
  1586. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  1587. +
  1588. +.rc.res:
  1589. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  1590. +
  1591. +.spec.spec.o:
  1592. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  1593. +
  1594. +.idl.h:
  1595. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  1596. +
  1597. +.idl_c.c:
  1598. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  1599. +
  1600. +.idl_i.c:
  1601. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  1602. +
  1603. +.idl_p.c:
  1604. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  1605. +
  1606. +.idl_s.c:
  1607. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  1608. +
  1609. +.idl.tlb:
  1610. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  1611. +
  1612. +.c.ln:
  1613. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  1614. +
  1615. +.c.ok:
  1616. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  1617. +
  1618. +.sfd.ttf:
  1619. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  1620. +
  1621. +.man.in.man:
  1622. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  1623. +
  1624. +.svg.ico:
  1625. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  1626. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  1627. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  1628. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  1629. +       $(RM) $*-16.png $*-32.png $*-48.png
  1630. +
  1631. +# Rules for IDL files
  1632. +
  1633. +dlldata.c: $(WIDL) Makefile.in
  1634. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  1635. +
  1636. +# Rule for linting
  1637. +
  1638. +$(MODULE).ln : $(LINTS)
  1639. +       if test "$(LINTS)" ; \
  1640. +       then \
  1641. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  1642. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  1643. +       else \
  1644. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  1645. +       fi
  1646. +
  1647. +lint:: $(MODULE).ln
  1648. +
  1649. +# Rules for Windows API checking
  1650. +
  1651. +winapi_check:: dummy
  1652. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  1653. +
  1654. +.PHONY: winapi_check
  1655. +
  1656. +# Rules for dependencies
  1657. +
  1658. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  1659. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  1660. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  1661. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  1662. +
  1663. +$(SUBDIRS:%=%/__depend__): dummy
  1664. +       @cd `dirname $@` && $(MAKE) depend
  1665. +
  1666. +depend: $(SUBDIRS:%=%/__depend__) dummy
  1667. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  1668. +
  1669. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  1670. +
  1671. +# Rules for cleaning
  1672. +
  1673. +$(SUBDIRS:%=%/__clean__): dummy
  1674. +       @cd `dirname $@` && $(MAKE) clean
  1675. +
  1676. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  1677. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  1678. +
  1679. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  1680. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  1681. +
  1682. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  1683. +
  1684. +# Rules for installing
  1685. +
  1686. +$(SUBDIRS:%=%/__install__): dummy
  1687. +       @cd `dirname $@` && $(MAKE) install
  1688. +
  1689. +$(SUBDIRS:%=%/__install-lib__): dummy
  1690. +       @cd `dirname $@` && $(MAKE) install-lib
  1691. +
  1692. +$(SUBDIRS:%=%/__install-dev__): dummy
  1693. +       @cd `dirname $@` && $(MAKE) install-dev
  1694. +
  1695. +$(SUBDIRS:%=%/__uninstall__): dummy
  1696. +       @cd `dirname $@` && $(MAKE) uninstall
  1697. +
  1698. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  1699. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  1700. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  1701. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  1702. +
  1703. +$(INSTALLDIRS):
  1704. +       $(MKINSTALLDIRS) $@
  1705. +
  1706. +.PHONY: install install-lib install-dev uninstall \
  1707. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  1708. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  1709. +
  1710. +# Rules for testing
  1711. +
  1712. +$(TESTSUBDIRS:%=%/__test__): dummy
  1713. +       @cd `dirname $@` && $(MAKE) test
  1714. +
  1715. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  1716. +       @cd `dirname $@` && $(MAKE) crosstest
  1717. +
  1718. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  1719. +       @cd `dirname $@` && $(MAKE) testclean
  1720. +
  1721. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  1722. +
  1723. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  1724. +
  1725. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  1726. +
  1727. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  1728. +
  1729. +# Rules for auto documentation
  1730. +
  1731. +$(DOCSUBDIRS:%=%/__man__): dummy
  1732. +       @cd `dirname $@` && $(MAKE) man
  1733. +
  1734. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  1735. +       @cd `dirname $@` && $(MAKE) doc-html
  1736. +
  1737. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  1738. +       @cd `dirname $@` && $(MAKE) doc-sgml
  1739. +
  1740. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  1741. +       @cd `dirname $@` && $(MAKE) doc-xml
  1742. +
  1743. +man: $(DOCSUBDIRS:%=%/__man__)
  1744. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  1745. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  1746. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  1747. +
  1748. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  1749. +
  1750. +# Misc. rules
  1751. +
  1752. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  1753. +
  1754. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  1755. +
  1756. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  1757. +
  1758. +$(SUBDIRS): dummy
  1759. +       @cd $@ && $(MAKE)
  1760. +
  1761. +dummy:
  1762. +
  1763. +.PHONY: dummy $(SUBDIRS)
  1764. +
  1765. +# End of global rules
  1766. +
  1767. +# Main target
  1768. +
  1769. +all: $(BUILDSUBDIRS) $(WIN16_FILES)
  1770. +
  1771. +# Placeholders for 16-bit libraries
  1772. +
  1773. +krnl386.exe16:
  1774. +       echo "kernel32.dll" >$@
  1775. +
  1776. +user.exe16:
  1777. +       echo "user32.dll" >$@
  1778. +
  1779. +wprocs.dll16:
  1780. +       echo "winedos.dll" >$@
  1781. +
  1782. +# Import libraries
  1783. +
  1784. +STATIC_IMPLIBEXT = $(IMPLIBEXT:def=def.a)
  1785. +
  1786. +IMPORT_SYMLINKS = \
  1787. +       libd3dx9.$(IMPLIBEXT) \
  1788. +       libwinspool.$(IMPLIBEXT) \
  1789. +       libxinput.$(IMPLIBEXT)
  1790. +
  1791. +IMPORT_LIBS = \
  1792. +       $(IMPORT_SYMLINKS) \
  1793. +       adsiid/libadsiid.a \
  1794. +       dxerr8/libdxerr8.a \
  1795. +       dxerr9/libdxerr9.a \
  1796. +       dxguid/libdxguid.a \
  1797. +       strmiids/libstrmiids.a \
  1798. +       uuid/libuuid.a \
  1799. +       winecrt0/libwinecrt0.a \
  1800. +       aclui/libaclui.$(IMPLIBEXT) \
  1801. +       activeds/libactiveds.$(IMPLIBEXT) \
  1802. +       advapi32/libadvapi32.$(IMPLIBEXT) \
  1803. +       advpack/libadvpack.$(IMPLIBEXT) \
  1804. +       atl/libatl.$(IMPLIBEXT) \
  1805. +       avicap32/libavicap32.$(IMPLIBEXT) \
  1806. +       avifil32/libavifil32.$(IMPLIBEXT) \
  1807. +       avrt/libavrt.$(IMPLIBEXT) \
  1808. +       cabinet/libcabinet.$(IMPLIBEXT) \
  1809. +       capi2032/libcapi2032.$(IMPLIBEXT) \
  1810. +       cards/libcards.$(IMPLIBEXT) \
  1811. +       cfgmgr32/libcfgmgr32.$(IMPLIBEXT) \
  1812. +       clusapi/libclusapi.$(IMPLIBEXT) \
  1813. +       comctl32/libcomctl32.$(IMPLIBEXT) \
  1814. +       comdlg32/libcomdlg32.$(IMPLIBEXT) \
  1815. +       compstui/libcompstui.$(IMPLIBEXT) \
  1816. +       credui/libcredui.$(IMPLIBEXT) \
  1817. +       crtdll/libcrtdll.$(IMPLIBEXT) \
  1818. +       crypt32/libcrypt32.$(IMPLIBEXT) \
  1819. +       cryptdll/libcryptdll.$(IMPLIBEXT) \
  1820. +       cryptnet/libcryptnet.$(IMPLIBEXT) \
  1821. +       cryptui/libcryptui.$(IMPLIBEXT) \
  1822. +       ctl3d32/libctl3d32.$(IMPLIBEXT) \
  1823. +       d3d10/libd3d10.$(IMPLIBEXT) \
  1824. +       d3d10core/libd3d10core.$(IMPLIBEXT) \
  1825. +       d3d8/libd3d8.$(IMPLIBEXT) \
  1826. +       d3d9/libd3d9.$(IMPLIBEXT) \
  1827. +       d3dim/libd3dim.$(IMPLIBEXT) \
  1828. +       d3drm/libd3drm.$(IMPLIBEXT) \
  1829. +       d3dx9_36/libd3dx9.$(IMPLIBEXT) \
  1830. +       d3dxof/libd3dxof.$(IMPLIBEXT) \
  1831. +       dbghelp/libdbghelp.$(IMPLIBEXT) \
  1832. +       dciman32/libdciman32.$(IMPLIBEXT) \
  1833. +       ddraw/libddraw.$(IMPLIBEXT) \
  1834. +       dinput/libdinput.$(IMPLIBEXT) \
  1835. +       dinput/libdinput.$(STATIC_IMPLIBEXT) \
  1836. +       dinput8/libdinput8.$(IMPLIBEXT) \
  1837. +       dmusic32/libdmusic32.$(IMPLIBEXT) \
  1838. +       dnsapi/libdnsapi.$(IMPLIBEXT) \
  1839. +       dplay/libdplay.$(IMPLIBEXT) \
  1840. +       dplayx/libdplayx.$(IMPLIBEXT) \
  1841. +       dpnet/libdpnet.$(IMPLIBEXT) \
  1842. +       dsound/libdsound.$(IMPLIBEXT) \
  1843. +       dwmapi/libdwmapi.$(IMPLIBEXT) \
  1844. +       dxgi/libdxgi.$(IMPLIBEXT) \
  1845. +       gdi32/libgdi32.$(IMPLIBEXT) \
  1846. +       gdiplus/libgdiplus.$(IMPLIBEXT) \
  1847. +       glu32/libglu32.$(IMPLIBEXT) \
  1848. +       hid/libhid.$(IMPLIBEXT) \
  1849. +       hlink/libhlink.$(IMPLIBEXT) \
  1850. +       imagehlp/libimagehlp.$(IMPLIBEXT) \
  1851. +       imm32/libimm32.$(IMPLIBEXT) \
  1852. +       inetcomm/libinetcomm.$(IMPLIBEXT) \
  1853. +       iphlpapi/libiphlpapi.$(IMPLIBEXT) \
  1854. +       kernel32/libkernel32.$(IMPLIBEXT) \
  1855. +       loadperf/libloadperf.$(IMPLIBEXT) \
  1856. +       lz32/liblz32.$(IMPLIBEXT) \
  1857. +       mapi32/libmapi32.$(IMPLIBEXT) \
  1858. +       mlang/libmlang.$(IMPLIBEXT) \
  1859. +       mpr/libmpr.$(IMPLIBEXT) \
  1860. +       mprapi/libmprapi.$(IMPLIBEXT) \
  1861. +       msacm32/libmsacm32.$(IMPLIBEXT) \
  1862. +       mscms/libmscms.$(IMPLIBEXT) \
  1863. +       msdmo/libmsdmo.$(IMPLIBEXT) \
  1864. +       mshtml/libmshtml.$(IMPLIBEXT) \
  1865. +       msi/libmsi.$(IMPLIBEXT) \
  1866. +       msimg32/libmsimg32.$(IMPLIBEXT) \
  1867. +       msvcr71/libmsvcr71.$(IMPLIBEXT) \
  1868. +       msvcrt/libmsvcrt.$(IMPLIBEXT) \
  1869. +       msvcrt20/libmsvcrt20.$(IMPLIBEXT) \
  1870. +       msvcrt40/libmsvcrt40.$(IMPLIBEXT) \
  1871. +       msvcrtd/libmsvcrtd.$(IMPLIBEXT) \
  1872. +       msvfw32/libmsvfw32.$(IMPLIBEXT) \
  1873. +       mswsock/libmswsock.$(IMPLIBEXT) \
  1874. +       nddeapi/libnddeapi.$(IMPLIBEXT) \
  1875. +       netapi32/libnetapi32.$(IMPLIBEXT) \
  1876. +       newdev/libnewdev.$(IMPLIBEXT) \
  1877. +       ntdll/libntdll.$(IMPLIBEXT) \
  1878. +       ntdsapi/libntdsapi.$(IMPLIBEXT) \
  1879. +       ntoskrnl.exe/libntoskrnl.exe.$(IMPLIBEXT) \
  1880. +       odbc32/libodbc32.$(IMPLIBEXT) \
  1881. +       odbccp32/libodbccp32.$(IMPLIBEXT) \
  1882. +       ole32/libole32.$(IMPLIBEXT) \
  1883. +       oleacc/liboleacc.$(IMPLIBEXT) \
  1884. +       oleaut32/liboleaut32.$(IMPLIBEXT) \
  1885. +       olecli32/libolecli32.$(IMPLIBEXT) \
  1886. +       oledlg/liboledlg.$(IMPLIBEXT) \
  1887. +       olepro32/libolepro32.$(IMPLIBEXT) \
  1888. +       olesvr32/libolesvr32.$(IMPLIBEXT) \
  1889. +       opengl32/libopengl32.$(IMPLIBEXT) \
  1890. +       pdh/libpdh.$(IMPLIBEXT) \
  1891. +       powrprof/libpowrprof.$(IMPLIBEXT) \
  1892. +       psapi/libpsapi.$(IMPLIBEXT) \
  1893. +       quartz/libquartz.$(IMPLIBEXT) \
  1894. +       rasapi32/librasapi32.$(IMPLIBEXT) \
  1895. +       rasdlg/librasdlg.$(IMPLIBEXT) \
  1896. +       resutils/libresutils.$(IMPLIBEXT) \
  1897. +       riched20/libriched20.$(IMPLIBEXT) \
  1898. +       rpcrt4/librpcrt4.$(IMPLIBEXT) \
  1899. +       rsaenh/librsaenh.$(IMPLIBEXT) \
  1900. +       rtutils/librtutils.$(IMPLIBEXT) \
  1901. +       secur32/libsecur32.$(IMPLIBEXT) \
  1902. +       sensapi/libsensapi.$(IMPLIBEXT) \
  1903. +       serialui/libserialui.$(IMPLIBEXT) \
  1904. +       setupapi/libsetupapi.$(IMPLIBEXT) \
  1905. +       sfc/libsfc.$(IMPLIBEXT) \
  1906. +       sfc_os/libsfc_os.$(IMPLIBEXT) \
  1907. +       shdocvw/libshdocvw.$(IMPLIBEXT) \
  1908. +       shell32/libshell32.$(IMPLIBEXT) \
  1909. +       shfolder/libshfolder.$(IMPLIBEXT) \
  1910. +       shlwapi/libshlwapi.$(IMPLIBEXT) \
  1911. +       slc/libslc.$(IMPLIBEXT) \
  1912. +       snmpapi/libsnmpapi.$(IMPLIBEXT) \
  1913. +       spoolss/libspoolss.$(IMPLIBEXT) \
  1914. +       sti/libsti.$(IMPLIBEXT) \
  1915. +       tapi32/libtapi32.$(IMPLIBEXT) \
  1916. +       unicows/libunicows.$(IMPLIBEXT) \
  1917. +       url/liburl.$(IMPLIBEXT) \
  1918. +       urlmon/liburlmon.$(IMPLIBEXT) \
  1919. +       user32/libuser32.$(IMPLIBEXT) \
  1920. +       userenv/libuserenv.$(IMPLIBEXT) \
  1921. +       usp10/libusp10.$(IMPLIBEXT) \
  1922. +       uxtheme/libuxtheme.$(IMPLIBEXT) \
  1923. +       vdmdbg/libvdmdbg.$(IMPLIBEXT) \
  1924. +       version/libversion.$(IMPLIBEXT) \
  1925. +       windowscodecs/libwindowscodecs.$(IMPLIBEXT) \
  1926. +       wined3d/libwined3d.$(IMPLIBEXT) \
  1927. +       winhttp/libwinhttp.$(IMPLIBEXT) \
  1928. +       wininet/libwininet.$(IMPLIBEXT) \
  1929. +       winmm/libwinmm.$(IMPLIBEXT) \
  1930. +       winnls32/libwinnls32.$(IMPLIBEXT) \
  1931. +       winscard/libwinscard.$(IMPLIBEXT) \
  1932. +       winspool.drv/libwinspool.$(IMPLIBEXT) \
  1933. +       wintab32/libwintab32.$(IMPLIBEXT) \
  1934. +       wintrust/libwintrust.$(IMPLIBEXT) \
  1935. +       wldap32/libwldap32.$(IMPLIBEXT) \
  1936. +       wnaspi32/libwnaspi32.$(IMPLIBEXT) \
  1937. +       wow32/libwow32.$(IMPLIBEXT) \
  1938. +       ws2_32/libws2_32.$(IMPLIBEXT) \
  1939. +       wsock32/libwsock32.$(IMPLIBEXT) \
  1940. +       wtsapi32/libwtsapi32.$(IMPLIBEXT) \
  1941. +       xinput1_3/libxinput.$(IMPLIBEXT)
  1942. +
  1943. +CROSS_IMPLIBS = \
  1944. +       libd3dx9.a \
  1945. +       libwinspool.a \
  1946. +       libxinput.a \
  1947. +       aclui/libaclui.a \
  1948. +       activeds/libactiveds.a \
  1949. +       advapi32/libadvapi32.a \
  1950. +       advpack/libadvpack.a \
  1951. +       atl/libatl.a \
  1952. +       avicap32/libavicap32.a \
  1953. +       avifil32/libavifil32.a \
  1954. +       avrt/libavrt.a \
  1955. +       cabinet/libcabinet.a \
  1956. +       capi2032/libcapi2032.a \
  1957. +       cards/libcards.a \
  1958. +       cfgmgr32/libcfgmgr32.a \
  1959. +       clusapi/libclusapi.a \
  1960. +       comctl32/libcomctl32.a \
  1961. +       comdlg32/libcomdlg32.a \
  1962. +       compstui/libcompstui.a \
  1963. +       credui/libcredui.a \
  1964. +       crtdll/libcrtdll.a \
  1965. +       crypt32/libcrypt32.a \
  1966. +       cryptdll/libcryptdll.a \
  1967. +       cryptnet/libcryptnet.a \
  1968. +       cryptui/libcryptui.a \
  1969. +       ctl3d32/libctl3d32.a \
  1970. +       d3d10/libd3d10.a \
  1971. +       d3d10core/libd3d10core.a \
  1972. +       d3d8/libd3d8.a \
  1973. +       d3d9/libd3d9.a \
  1974. +       d3dim/libd3dim.a \
  1975. +       d3drm/libd3drm.a \
  1976. +       d3dx9_36/libd3dx9.a \
  1977. +       d3dxof/libd3dxof.a \
  1978. +       dbghelp/libdbghelp.a \
  1979. +       dciman32/libdciman32.a \
  1980. +       ddraw/libddraw.a \
  1981. +       dinput8/libdinput8.a \
  1982. +       dmusic32/libdmusic32.a \
  1983. +       dnsapi/libdnsapi.a \
  1984. +       dplay/libdplay.a \
  1985. +       dplayx/libdplayx.a \
  1986. +       dpnet/libdpnet.a \
  1987. +       dsound/libdsound.a \
  1988. +       dwmapi/libdwmapi.a \
  1989. +       dxgi/libdxgi.a \
  1990. +       gdi32/libgdi32.a \
  1991. +       gdiplus/libgdiplus.a \
  1992. +       glu32/libglu32.a \
  1993. +       hid/libhid.a \
  1994. +       hlink/libhlink.a \
  1995. +       imagehlp/libimagehlp.a \
  1996. +       imm32/libimm32.a \
  1997. +       inetcomm/libinetcomm.a \
  1998. +       iphlpapi/libiphlpapi.a \
  1999. +       kernel32/libkernel32.a \
  2000. +       loadperf/libloadperf.a \
  2001. +       lz32/liblz32.a \
  2002. +       mapi32/libmapi32.a \
  2003. +       mlang/libmlang.a \
  2004. +       mpr/libmpr.a \
  2005. +       mprapi/libmprapi.a \
  2006. +       msacm32/libmsacm32.a \
  2007. +       mscms/libmscms.a \
  2008. +       msdmo/libmsdmo.a \
  2009. +       mshtml/libmshtml.a \
  2010. +       msi/libmsi.a \
  2011. +       msimg32/libmsimg32.a \
  2012. +       msvcr71/libmsvcr71.a \
  2013. +       msvcrt/libmsvcrt.a \
  2014. +       msvcrt20/libmsvcrt20.a \
  2015. +       msvcrt40/libmsvcrt40.a \
  2016. +       msvcrtd/libmsvcrtd.a \
  2017. +       msvfw32/libmsvfw32.a \
  2018. +       mswsock/libmswsock.a \
  2019. +       nddeapi/libnddeapi.a \
  2020. +       netapi32/libnetapi32.a \
  2021. +       newdev/libnewdev.a \
  2022. +       ntdll/libntdll.a \
  2023. +       ntdsapi/libntdsapi.a \
  2024. +       ntoskrnl.exe/libntoskrnl.exe.a \
  2025. +       odbc32/libodbc32.a \
  2026. +       odbccp32/libodbccp32.a \
  2027. +       ole32/libole32.a \
  2028. +       oleacc/liboleacc.a \
  2029. +       oleaut32/liboleaut32.a \
  2030. +       olecli32/libolecli32.a \
  2031. +       oledlg/liboledlg.a \
  2032. +       olepro32/libolepro32.a \
  2033. +       olesvr32/libolesvr32.a \
  2034. +       opengl32/libopengl32.a \
  2035. +       pdh/libpdh.a \
  2036. +       powrprof/libpowrprof.a \
  2037. +       psapi/libpsapi.a \
  2038. +       quartz/libquartz.a \
  2039. +       rasapi32/librasapi32.a \
  2040. +       rasdlg/librasdlg.a \
  2041. +       resutils/libresutils.a \
  2042. +       riched20/libriched20.a \
  2043. +       rpcrt4/librpcrt4.a \
  2044. +       rsaenh/librsaenh.a \
  2045. +       rtutils/librtutils.a \
  2046. +       secur32/libsecur32.a \
  2047. +       sensapi/libsensapi.a \
  2048. +       serialui/libserialui.a \
  2049. +       setupapi/libsetupapi.a \
  2050. +       sfc/libsfc.a \
  2051. +       sfc_os/libsfc_os.a \
  2052. +       shdocvw/libshdocvw.a \
  2053. +       shell32/libshell32.a \
  2054. +       shfolder/libshfolder.a \
  2055. +       shlwapi/libshlwapi.a \
  2056. +       slc/libslc.a \
  2057. +       snmpapi/libsnmpapi.a \
  2058. +       spoolss/libspoolss.a \
  2059. +       sti/libsti.a \
  2060. +       tapi32/libtapi32.a \
  2061. +       unicows/libunicows.a \
  2062. +       url/liburl.a \
  2063. +       urlmon/liburlmon.a \
  2064. +       user32/libuser32.a \
  2065. +       userenv/libuserenv.a \
  2066. +       usp10/libusp10.a \
  2067. +       uxtheme/libuxtheme.a \
  2068. +       vdmdbg/libvdmdbg.a \
  2069. +       version/libversion.a \
  2070. +       windowscodecs/libwindowscodecs.a \
  2071. +       wined3d/libwined3d.a \
  2072. +       winhttp/libwinhttp.a \
  2073. +       wininet/libwininet.a \
  2074. +       winmm/libwinmm.a \
  2075. +       winnls32/libwinnls32.a \
  2076. +       winscard/libwinscard.a \
  2077. +       winspool.drv/libwinspool.a \
  2078. +       wintab32/libwintab32.a \
  2079. +       wintrust/libwintrust.a \
  2080. +       wldap32/libwldap32.a \
  2081. +       wnaspi32/libwnaspi32.a \
  2082. +       wow32/libwow32.a \
  2083. +       ws2_32/libws2_32.a \
  2084. +       wsock32/libwsock32.a \
  2085. +       wtsapi32/libwtsapi32.a \
  2086. +       xinput1_3/libxinput.a
  2087. +
  2088. +$(TESTSUBDIRS:%=%/__crosstest__): $(CROSS_IMPLIBS)
  2089. +
  2090. +implib: $(IMPORT_LIBS)
  2091. +
  2092. +testsubdirs: $(TESTSUBDIRS)
  2093. +
  2094. +.PHONY: implib testsubdirs
  2095. +
  2096. +aclui/libaclui.def aclui/libaclui.a: aclui/aclui.spec $(WINEBUILD)
  2097. +       @cd aclui && $(MAKE) `basename $@`
  2098. +
  2099. +activeds/libactiveds.def activeds/libactiveds.a: activeds/activeds.spec $(WINEBUILD)
  2100. +       @cd activeds && $(MAKE) `basename $@`
  2101. +
  2102. +advapi32/libadvapi32.def advapi32/libadvapi32.a: advapi32/advapi32.spec $(WINEBUILD)
  2103. +       @cd advapi32 && $(MAKE) `basename $@`
  2104. +
  2105. +advpack/libadvpack.def advpack/libadvpack.a: advpack/advpack.spec $(WINEBUILD)
  2106. +       @cd advpack && $(MAKE) `basename $@`
  2107. +
  2108. +atl/libatl.def atl/libatl.a: atl/atl.spec $(WINEBUILD)
  2109. +       @cd atl && $(MAKE) `basename $@`
  2110. +
  2111. +avicap32/libavicap32.def avicap32/libavicap32.a: avicap32/avicap32.spec $(WINEBUILD)
  2112. +       @cd avicap32 && $(MAKE) `basename $@`
  2113. +
  2114. +avifil32/libavifil32.def avifil32/libavifil32.a: avifil32/avifil32.spec $(WINEBUILD)
  2115. +       @cd avifil32 && $(MAKE) `basename $@`
  2116. +
  2117. +avrt/libavrt.def avrt/libavrt.a: avrt/avrt.spec $(WINEBUILD)
  2118. +       @cd avrt && $(MAKE) `basename $@`
  2119. +
  2120. +cabinet/libcabinet.def cabinet/libcabinet.a: cabinet/cabinet.spec $(WINEBUILD)
  2121. +       @cd cabinet && $(MAKE) `basename $@`
  2122. +
  2123. +capi2032/libcapi2032.def capi2032/libcapi2032.a: capi2032/capi2032.spec $(WINEBUILD)
  2124. +       @cd capi2032 && $(MAKE) `basename $@`
  2125. +
  2126. +cards/libcards.def cards/libcards.a: cards/cards.spec $(WINEBUILD)
  2127. +       @cd cards && $(MAKE) `basename $@`
  2128. +
  2129. +cfgmgr32/libcfgmgr32.def cfgmgr32/libcfgmgr32.a: cfgmgr32/cfgmgr32.spec $(WINEBUILD)
  2130. +       @cd cfgmgr32 && $(MAKE) `basename $@`
  2131. +
  2132. +clusapi/libclusapi.def clusapi/libclusapi.a: clusapi/clusapi.spec $(WINEBUILD)
  2133. +       @cd clusapi && $(MAKE) `basename $@`
  2134. +
  2135. +comctl32/libcomctl32.def comctl32/libcomctl32.a: comctl32/comctl32.spec $(WINEBUILD)
  2136. +       @cd comctl32 && $(MAKE) `basename $@`
  2137. +
  2138. +comdlg32/libcomdlg32.def comdlg32/libcomdlg32.a: comdlg32/comdlg32.spec $(WINEBUILD)
  2139. +       @cd comdlg32 && $(MAKE) `basename $@`
  2140. +
  2141. +compstui/libcompstui.def compstui/libcompstui.a: compstui/compstui.spec $(WINEBUILD)
  2142. +       @cd compstui && $(MAKE) `basename $@`
  2143. +
  2144. +credui/libcredui.def credui/libcredui.a: credui/credui.spec $(WINEBUILD)
  2145. +       @cd credui && $(MAKE) `basename $@`
  2146. +
  2147. +crtdll/libcrtdll.def crtdll/libcrtdll.a: crtdll/crtdll.spec $(WINEBUILD)
  2148. +       @cd crtdll && $(MAKE) `basename $@`
  2149. +
  2150. +crypt32/libcrypt32.def crypt32/libcrypt32.a: crypt32/crypt32.spec $(WINEBUILD)
  2151. +       @cd crypt32 && $(MAKE) `basename $@`
  2152. +
  2153. +cryptdll/libcryptdll.def cryptdll/libcryptdll.a: cryptdll/cryptdll.spec $(WINEBUILD)
  2154. +       @cd cryptdll && $(MAKE) `basename $@`
  2155. +
  2156. +cryptnet/libcryptnet.def cryptnet/libcryptnet.a: cryptnet/cryptnet.spec $(WINEBUILD)
  2157. +       @cd cryptnet && $(MAKE) `basename $@`
  2158. +
  2159. +cryptui/libcryptui.def cryptui/libcryptui.a: cryptui/cryptui.spec $(WINEBUILD)
  2160. +       @cd cryptui && $(MAKE) `basename $@`
  2161. +
  2162. +ctl3d32/libctl3d32.def ctl3d32/libctl3d32.a: ctl3d32/ctl3d32.spec $(WINEBUILD)
  2163. +       @cd ctl3d32 && $(MAKE) `basename $@`
  2164. +
  2165. +d3d10/libd3d10.def d3d10/libd3d10.a: d3d10/d3d10.spec $(WINEBUILD)
  2166. +       @cd d3d10 && $(MAKE) `basename $@`
  2167. +
  2168. +d3d10core/libd3d10core.def d3d10core/libd3d10core.a: d3d10core/d3d10core.spec $(WINEBUILD)
  2169. +       @cd d3d10core && $(MAKE) `basename $@`
  2170. +
  2171. +d3d8/libd3d8.def d3d8/libd3d8.a: d3d8/d3d8.spec $(WINEBUILD)
  2172. +       @cd d3d8 && $(MAKE) `basename $@`
  2173. +
  2174. +d3d9/libd3d9.def d3d9/libd3d9.a: d3d9/d3d9.spec $(WINEBUILD)
  2175. +       @cd d3d9 && $(MAKE) `basename $@`
  2176. +
  2177. +d3dim/libd3dim.def d3dim/libd3dim.a: d3dim/d3dim.spec $(WINEBUILD)
  2178. +       @cd d3dim && $(MAKE) `basename $@`
  2179. +
  2180. +d3drm/libd3drm.def d3drm/libd3drm.a: d3drm/d3drm.spec $(WINEBUILD)
  2181. +       @cd d3drm && $(MAKE) `basename $@`
  2182. +
  2183. +d3dx9_36/libd3dx9.def d3dx9_36/libd3dx9.a: d3dx9_36/d3dx9_36.spec $(WINEBUILD)
  2184. +       @cd d3dx9_36 && $(MAKE) `basename $@`
  2185. +
  2186. +d3dxof/libd3dxof.def d3dxof/libd3dxof.a: d3dxof/d3dxof.spec $(WINEBUILD)
  2187. +       @cd d3dxof && $(MAKE) `basename $@`
  2188. +
  2189. +dbghelp/libdbghelp.def dbghelp/libdbghelp.a: dbghelp/dbghelp.spec $(WINEBUILD)
  2190. +       @cd dbghelp && $(MAKE) `basename $@`
  2191. +
  2192. +dciman32/libdciman32.def dciman32/libdciman32.a: dciman32/dciman32.spec $(WINEBUILD)
  2193. +       @cd dciman32 && $(MAKE) `basename $@`
  2194. +
  2195. +ddraw/libddraw.def ddraw/libddraw.a: ddraw/ddraw.spec $(WINEBUILD)
  2196. +       @cd ddraw && $(MAKE) `basename $@`
  2197. +
  2198. +dinput/libdinput.def: dinput/dinput.spec $(WINEBUILD)
  2199. +       @cd dinput && $(MAKE) libdinput.def
  2200. +
  2201. +dinput/libdinput.$(STATIC_IMPLIBEXT): dummy
  2202. +       @cd dinput && $(MAKE) libdinput.$(STATIC_IMPLIBEXT)
  2203. +
  2204. +dinput8/libdinput8.def dinput8/libdinput8.a: dinput8/dinput8.spec $(WINEBUILD)
  2205. +       @cd dinput8 && $(MAKE) `basename $@`
  2206. +
  2207. +dmusic32/libdmusic32.def dmusic32/libdmusic32.a: dmusic32/dmusic32.spec $(WINEBUILD)
  2208. +       @cd dmusic32 && $(MAKE) `basename $@`
  2209. +
  2210. +dnsapi/libdnsapi.def dnsapi/libdnsapi.a: dnsapi/dnsapi.spec $(WINEBUILD)
  2211. +       @cd dnsapi && $(MAKE) `basename $@`
  2212. +
  2213. +dplay/libdplay.def dplay/libdplay.a: dplay/dplay.spec $(WINEBUILD)
  2214. +       @cd dplay && $(MAKE) `basename $@`
  2215. +
  2216. +dplayx/libdplayx.def dplayx/libdplayx.a: dplayx/dplayx.spec $(WINEBUILD)
  2217. +       @cd dplayx && $(MAKE) `basename $@`
  2218. +
  2219. +dpnet/libdpnet.def dpnet/libdpnet.a: dpnet/dpnet.spec $(WINEBUILD)
  2220. +       @cd dpnet && $(MAKE) `basename $@`
  2221. +
  2222. +dsound/libdsound.def dsound/libdsound.a: dsound/dsound.spec $(WINEBUILD)
  2223. +       @cd dsound && $(MAKE) `basename $@`
  2224. +
  2225. +dwmapi/libdwmapi.def dwmapi/libdwmapi.a: dwmapi/dwmapi.spec $(WINEBUILD)
  2226. +       @cd dwmapi && $(MAKE) `basename $@`
  2227. +
  2228. +dxgi/libdxgi.def dxgi/libdxgi.a: dxgi/dxgi.spec $(WINEBUILD)
  2229. +       @cd dxgi && $(MAKE) `basename $@`
  2230. +
  2231. +gdi32/libgdi32.def gdi32/libgdi32.a: gdi32/gdi32.spec $(WINEBUILD)
  2232. +       @cd gdi32 && $(MAKE) `basename $@`
  2233. +
  2234. +gdiplus/libgdiplus.def gdiplus/libgdiplus.a: gdiplus/gdiplus.spec $(WINEBUILD)
  2235. +       @cd gdiplus && $(MAKE) `basename $@`
  2236. +
  2237. +glu32/libglu32.def glu32/libglu32.a: glu32/glu32.spec $(WINEBUILD)
  2238. +       @cd glu32 && $(MAKE) `basename $@`
  2239. +
  2240. +hid/libhid.def hid/libhid.a: hid/hid.spec $(WINEBUILD)
  2241. +       @cd hid && $(MAKE) `basename $@`
  2242. +
  2243. +hlink/libhlink.def hlink/libhlink.a: hlink/hlink.spec $(WINEBUILD)
  2244. +       @cd hlink && $(MAKE) `basename $@`
  2245. +
  2246. +imagehlp/libimagehlp.def imagehlp/libimagehlp.a: imagehlp/imagehlp.spec $(WINEBUILD)
  2247. +       @cd imagehlp && $(MAKE) `basename $@`
  2248. +
  2249. +imm32/libimm32.def imm32/libimm32.a: imm32/imm32.spec $(WINEBUILD)
  2250. +       @cd imm32 && $(MAKE) `basename $@`
  2251. +
  2252. +inetcomm/libinetcomm.def inetcomm/libinetcomm.a: inetcomm/inetcomm.spec $(WINEBUILD)
  2253. +       @cd inetcomm && $(MAKE) `basename $@`
  2254. +
  2255. +iphlpapi/libiphlpapi.def iphlpapi/libiphlpapi.a: iphlpapi/iphlpapi.spec $(WINEBUILD)
  2256. +       @cd iphlpapi && $(MAKE) `basename $@`
  2257. +
  2258. +kernel32/libkernel32.def kernel32/libkernel32.a: kernel32/kernel32.spec $(WINEBUILD)
  2259. +       @cd kernel32 && $(MAKE) `basename $@`
  2260. +
  2261. +loadperf/libloadperf.def loadperf/libloadperf.a: loadperf/loadperf.spec $(WINEBUILD)
  2262. +       @cd loadperf && $(MAKE) `basename $@`
  2263. +
  2264. +lz32/liblz32.def lz32/liblz32.a: lz32/lz32.spec $(WINEBUILD)
  2265. +       @cd lz32 && $(MAKE) `basename $@`
  2266. +
  2267. +mapi32/libmapi32.def mapi32/libmapi32.a: mapi32/mapi32.spec $(WINEBUILD)
  2268. +       @cd mapi32 && $(MAKE) `basename $@`
  2269. +
  2270. +mlang/libmlang.def mlang/libmlang.a: mlang/mlang.spec $(WINEBUILD)
  2271. +       @cd mlang && $(MAKE) `basename $@`
  2272. +
  2273. +mpr/libmpr.def mpr/libmpr.a: mpr/mpr.spec $(WINEBUILD)
  2274. +       @cd mpr && $(MAKE) `basename $@`
  2275. +
  2276. +mprapi/libmprapi.def mprapi/libmprapi.a: mprapi/mprapi.spec $(WINEBUILD)
  2277. +       @cd mprapi && $(MAKE) `basename $@`
  2278. +
  2279. +msacm32/libmsacm32.def msacm32/libmsacm32.a: msacm32/msacm32.spec $(WINEBUILD)
  2280. +       @cd msacm32 && $(MAKE) `basename $@`
  2281. +
  2282. +mscms/libmscms.def mscms/libmscms.a: mscms/mscms.spec $(WINEBUILD)
  2283. +       @cd mscms && $(MAKE) `basename $@`
  2284. +
  2285. +msdmo/libmsdmo.def msdmo/libmsdmo.a: msdmo/msdmo.spec $(WINEBUILD)
  2286. +       @cd msdmo && $(MAKE) `basename $@`
  2287. +
  2288. +mshtml/libmshtml.def mshtml/libmshtml.a: mshtml/mshtml.spec $(WINEBUILD)
  2289. +       @cd mshtml && $(MAKE) `basename $@`
  2290. +
  2291. +msi/libmsi.def msi/libmsi.a: msi/msi.spec $(WINEBUILD)
  2292. +       @cd msi && $(MAKE) `basename $@`
  2293. +
  2294. +msimg32/libmsimg32.def msimg32/libmsimg32.a: msimg32/msimg32.spec $(WINEBUILD)
  2295. +       @cd msimg32 && $(MAKE) `basename $@`
  2296. +
  2297. +msvcr71/libmsvcr71.def msvcr71/libmsvcr71.a: msvcr71/msvcr71.spec $(WINEBUILD)
  2298. +       @cd msvcr71 && $(MAKE) `basename $@`
  2299. +
  2300. +msvcrt/libmsvcrt.def msvcrt/libmsvcrt.a: msvcrt/msvcrt.spec $(WINEBUILD)
  2301. +       @cd msvcrt && $(MAKE) `basename $@`
  2302. +
  2303. +msvcrt20/libmsvcrt20.def msvcrt20/libmsvcrt20.a: msvcrt20/msvcrt20.spec $(WINEBUILD)
  2304. +       @cd msvcrt20 && $(MAKE) `basename $@`
  2305. +
  2306. +msvcrt40/libmsvcrt40.def msvcrt40/libmsvcrt40.a: msvcrt40/msvcrt40.spec $(WINEBUILD)
  2307. +       @cd msvcrt40 && $(MAKE) `basename $@`
  2308. +
  2309. +msvcrtd/libmsvcrtd.def msvcrtd/libmsvcrtd.a: msvcrtd/msvcrtd.spec $(WINEBUILD)
  2310. +       @cd msvcrtd && $(MAKE) `basename $@`
  2311. +
  2312. +msvfw32/libmsvfw32.def msvfw32/libmsvfw32.a: msvfw32/msvfw32.spec $(WINEBUILD)
  2313. +       @cd msvfw32 && $(MAKE) `basename $@`
  2314. +
  2315. +mswsock/libmswsock.def mswsock/libmswsock.a: mswsock/mswsock.spec $(WINEBUILD)
  2316. +       @cd mswsock && $(MAKE) `basename $@`
  2317. +
  2318. +nddeapi/libnddeapi.def nddeapi/libnddeapi.a: nddeapi/nddeapi.spec $(WINEBUILD)
  2319. +       @cd nddeapi && $(MAKE) `basename $@`
  2320. +
  2321. +netapi32/libnetapi32.def netapi32/libnetapi32.a: netapi32/netapi32.spec $(WINEBUILD)
  2322. +       @cd netapi32 && $(MAKE) `basename $@`
  2323. +
  2324. +newdev/libnewdev.def newdev/libnewdev.a: newdev/newdev.spec $(WINEBUILD)
  2325. +       @cd newdev && $(MAKE) `basename $@`
  2326. +
  2327. +ntdll/libntdll.def ntdll/libntdll.a: ntdll/ntdll.spec $(WINEBUILD)
  2328. +       @cd ntdll && $(MAKE) `basename $@`
  2329. +
  2330. +ntdsapi/libntdsapi.def ntdsapi/libntdsapi.a: ntdsapi/ntdsapi.spec $(WINEBUILD)
  2331. +       @cd ntdsapi && $(MAKE) `basename $@`
  2332. +
  2333. +ntoskrnl.exe/libntoskrnl.exe.def ntoskrnl.exe/libntoskrnl.exe.a: ntoskrnl.exe/ntoskrnl.exe.spec $(WINEBUILD)
  2334. +       @cd ntoskrnl.exe && $(MAKE) `basename $@`
  2335. +
  2336. +odbc32/libodbc32.def odbc32/libodbc32.a: odbc32/odbc32.spec $(WINEBUILD)
  2337. +       @cd odbc32 && $(MAKE) `basename $@`
  2338. +
  2339. +odbccp32/libodbccp32.def odbccp32/libodbccp32.a: odbccp32/odbccp32.spec $(WINEBUILD)
  2340. +       @cd odbccp32 && $(MAKE) `basename $@`
  2341. +
  2342. +ole32/libole32.def ole32/libole32.a: ole32/ole32.spec $(WINEBUILD)
  2343. +       @cd ole32 && $(MAKE) `basename $@`
  2344. +
  2345. +oleacc/liboleacc.def oleacc/liboleacc.a: oleacc/oleacc.spec $(WINEBUILD)
  2346. +       @cd oleacc && $(MAKE) `basename $@`
  2347. +
  2348. +oleaut32/liboleaut32.def oleaut32/liboleaut32.a: oleaut32/oleaut32.spec $(WINEBUILD)
  2349. +       @cd oleaut32 && $(MAKE) `basename $@`
  2350. +
  2351. +olecli32/libolecli32.def olecli32/libolecli32.a: olecli32/olecli32.spec $(WINEBUILD)
  2352. +       @cd olecli32 && $(MAKE) `basename $@`
  2353. +
  2354. +oledlg/liboledlg.def oledlg/liboledlg.a: oledlg/oledlg.spec $(WINEBUILD)
  2355. +       @cd oledlg && $(MAKE) `basename $@`
  2356. +
  2357. +olepro32/libolepro32.def olepro32/libolepro32.a: olepro32/olepro32.spec $(WINEBUILD)
  2358. +       @cd olepro32 && $(MAKE) `basename $@`
  2359. +
  2360. +olesvr32/libolesvr32.def olesvr32/libolesvr32.a: olesvr32/olesvr32.spec $(WINEBUILD)
  2361. +       @cd olesvr32 && $(MAKE) `basename $@`
  2362. +
  2363. +opengl32/libopengl32.def opengl32/libopengl32.a: opengl32/opengl32.spec $(WINEBUILD)
  2364. +       @cd opengl32 && $(MAKE) `basename $@`
  2365. +
  2366. +pdh/libpdh.def pdh/libpdh.a: pdh/pdh.spec $(WINEBUILD)
  2367. +       @cd pdh && $(MAKE) `basename $@`
  2368. +
  2369. +powrprof/libpowrprof.def powrprof/libpowrprof.a: powrprof/powrprof.spec $(WINEBUILD)
  2370. +       @cd powrprof && $(MAKE) `basename $@`
  2371. +
  2372. +psapi/libpsapi.def psapi/libpsapi.a: psapi/psapi.spec $(WINEBUILD)
  2373. +       @cd psapi && $(MAKE) `basename $@`
  2374. +
  2375. +quartz/libquartz.def quartz/libquartz.a: quartz/quartz.spec $(WINEBUILD)
  2376. +       @cd quartz && $(MAKE) `basename $@`
  2377. +
  2378. +rasapi32/librasapi32.def rasapi32/librasapi32.a: rasapi32/rasapi32.spec $(WINEBUILD)
  2379. +       @cd rasapi32 && $(MAKE) `basename $@`
  2380. +
  2381. +rasdlg/librasdlg.def rasdlg/librasdlg.a: rasdlg/rasdlg.spec $(WINEBUILD)
  2382. +       @cd rasdlg && $(MAKE) `basename $@`
  2383. +
  2384. +resutils/libresutils.def resutils/libresutils.a: resutils/resutils.spec $(WINEBUILD)
  2385. +       @cd resutils && $(MAKE) `basename $@`
  2386. +
  2387. +riched20/libriched20.def riched20/libriched20.a: riched20/riched20.spec $(WINEBUILD)
  2388. +       @cd riched20 && $(MAKE) `basename $@`
  2389. +
  2390. +rpcrt4/librpcrt4.def rpcrt4/librpcrt4.a: rpcrt4/rpcrt4.spec $(WINEBUILD)
  2391. +       @cd rpcrt4 && $(MAKE) `basename $@`
  2392. +
  2393. +rsaenh/librsaenh.def rsaenh/librsaenh.a: rsaenh/rsaenh.spec $(WINEBUILD)
  2394. +       @cd rsaenh && $(MAKE) `basename $@`
  2395. +
  2396. +rtutils/librtutils.def rtutils/librtutils.a: rtutils/rtutils.spec $(WINEBUILD)
  2397. +       @cd rtutils && $(MAKE) `basename $@`
  2398. +
  2399. +secur32/libsecur32.def secur32/libsecur32.a: secur32/secur32.spec $(WINEBUILD)
  2400. +       @cd secur32 && $(MAKE) `basename $@`
  2401. +
  2402. +sensapi/libsensapi.def sensapi/libsensapi.a: sensapi/sensapi.spec $(WINEBUILD)
  2403. +       @cd sensapi && $(MAKE) `basename $@`
  2404. +
  2405. +serialui/libserialui.def serialui/libserialui.a: serialui/serialui.spec $(WINEBUILD)
  2406. +       @cd serialui && $(MAKE) `basename $@`
  2407. +
  2408. +setupapi/libsetupapi.def setupapi/libsetupapi.a: setupapi/setupapi.spec $(WINEBUILD)
  2409. +       @cd setupapi && $(MAKE) `basename $@`
  2410. +
  2411. +sfc/libsfc.def sfc/libsfc.a: sfc/sfc.spec $(WINEBUILD)
  2412. +       @cd sfc && $(MAKE) `basename $@`
  2413. +
  2414. +sfc_os/libsfc_os.def sfc_os/libsfc_os.a: sfc_os/sfc_os.spec $(WINEBUILD)
  2415. +       @cd sfc_os && $(MAKE) `basename $@`
  2416. +
  2417. +shdocvw/libshdocvw.def shdocvw/libshdocvw.a: shdocvw/shdocvw.spec $(WINEBUILD)
  2418. +       @cd shdocvw && $(MAKE) `basename $@`
  2419. +
  2420. +shell32/libshell32.def shell32/libshell32.a: shell32/shell32.spec $(WINEBUILD)
  2421. +       @cd shell32 && $(MAKE) `basename $@`
  2422. +
  2423. +shfolder/libshfolder.def shfolder/libshfolder.a: shfolder/shfolder.spec $(WINEBUILD)
  2424. +       @cd shfolder && $(MAKE) `basename $@`
  2425. +
  2426. +shlwapi/libshlwapi.def shlwapi/libshlwapi.a: shlwapi/shlwapi.spec $(WINEBUILD)
  2427. +       @cd shlwapi && $(MAKE) `basename $@`
  2428. +
  2429. +slc/libslc.def slc/libslc.a: slc/slc.spec $(WINEBUILD)
  2430. +       @cd slc && $(MAKE) `basename $@`
  2431. +
  2432. +snmpapi/libsnmpapi.def snmpapi/libsnmpapi.a: snmpapi/snmpapi.spec $(WINEBUILD)
  2433. +       @cd snmpapi && $(MAKE) `basename $@`
  2434. +
  2435. +spoolss/libspoolss.def spoolss/libspoolss.a: spoolss/spoolss.spec $(WINEBUILD)
  2436. +       @cd spoolss && $(MAKE) `basename $@`
  2437. +
  2438. +sti/libsti.def sti/libsti.a: sti/sti.spec $(WINEBUILD)
  2439. +       @cd sti && $(MAKE) `basename $@`
  2440. +
  2441. +tapi32/libtapi32.def tapi32/libtapi32.a: tapi32/tapi32.spec $(WINEBUILD)
  2442. +       @cd tapi32 && $(MAKE) `basename $@`
  2443. +
  2444. +unicows/libunicows.def unicows/libunicows.a: unicows/unicows.spec $(WINEBUILD)
  2445. +       @cd unicows && $(MAKE) `basename $@`
  2446. +
  2447. +url/liburl.def url/liburl.a: url/url.spec $(WINEBUILD)
  2448. +       @cd url && $(MAKE) `basename $@`
  2449. +
  2450. +urlmon/liburlmon.def urlmon/liburlmon.a: urlmon/urlmon.spec $(WINEBUILD)
  2451. +       @cd urlmon && $(MAKE) `basename $@`
  2452. +
  2453. +user32/libuser32.def user32/libuser32.a: user32/user32.spec $(WINEBUILD)
  2454. +       @cd user32 && $(MAKE) `basename $@`
  2455. +
  2456. +userenv/libuserenv.def userenv/libuserenv.a: userenv/userenv.spec $(WINEBUILD)
  2457. +       @cd userenv && $(MAKE) `basename $@`
  2458. +
  2459. +usp10/libusp10.def usp10/libusp10.a: usp10/usp10.spec $(WINEBUILD)
  2460. +       @cd usp10 && $(MAKE) `basename $@`
  2461. +
  2462. +uxtheme/libuxtheme.def uxtheme/libuxtheme.a: uxtheme/uxtheme.spec $(WINEBUILD)
  2463. +       @cd uxtheme && $(MAKE) `basename $@`
  2464. +
  2465. +vdmdbg/libvdmdbg.def vdmdbg/libvdmdbg.a: vdmdbg/vdmdbg.spec $(WINEBUILD)
  2466. +       @cd vdmdbg && $(MAKE) `basename $@`
  2467. +
  2468. +version/libversion.def version/libversion.a: version/version.spec $(WINEBUILD)
  2469. +       @cd version && $(MAKE) `basename $@`
  2470. +
  2471. +windowscodecs/libwindowscodecs.def windowscodecs/libwindowscodecs.a: windowscodecs/windowscodecs.spec $(WINEBUILD)
  2472. +       @cd windowscodecs && $(MAKE) `basename $@`
  2473. +
  2474. +wined3d/libwined3d.def wined3d/libwined3d.a: wined3d/wined3d.spec $(WINEBUILD)
  2475. +       @cd wined3d && $(MAKE) `basename $@`
  2476. +
  2477. +winhttp/libwinhttp.def winhttp/libwinhttp.a: winhttp/winhttp.spec $(WINEBUILD)
  2478. +       @cd winhttp && $(MAKE) `basename $@`
  2479. +
  2480. +wininet/libwininet.def wininet/libwininet.a: wininet/wininet.spec $(WINEBUILD)
  2481. +       @cd wininet && $(MAKE) `basename $@`
  2482. +
  2483. +winmm/libwinmm.def winmm/libwinmm.a: winmm/winmm.spec $(WINEBUILD)
  2484. +       @cd winmm && $(MAKE) `basename $@`
  2485. +
  2486. +winnls32/libwinnls32.def winnls32/libwinnls32.a: winnls32/winnls32.spec $(WINEBUILD)
  2487. +       @cd winnls32 && $(MAKE) `basename $@`
  2488. +
  2489. +winscard/libwinscard.def winscard/libwinscard.a: winscard/winscard.spec $(WINEBUILD)
  2490. +       @cd winscard && $(MAKE) `basename $@`
  2491. +
  2492. +winspool.drv/libwinspool.def winspool.drv/libwinspool.a: winspool.drv/winspool.drv.spec $(WINEBUILD)
  2493. +       @cd winspool.drv && $(MAKE) `basename $@`
  2494. +
  2495. +wintab32/libwintab32.def wintab32/libwintab32.a: wintab32/wintab32.spec $(WINEBUILD)
  2496. +       @cd wintab32 && $(MAKE) `basename $@`
  2497. +
  2498. +wintrust/libwintrust.def wintrust/libwintrust.a: wintrust/wintrust.spec $(WINEBUILD)
  2499. +       @cd wintrust && $(MAKE) `basename $@`
  2500. +
  2501. +wldap32/libwldap32.def wldap32/libwldap32.a: wldap32/wldap32.spec $(WINEBUILD)
  2502. +       @cd wldap32 && $(MAKE) `basename $@`
  2503. +
  2504. +wnaspi32/libwnaspi32.def wnaspi32/libwnaspi32.a: wnaspi32/wnaspi32.spec $(WINEBUILD)
  2505. +       @cd wnaspi32 && $(MAKE) `basename $@`
  2506. +
  2507. +wow32/libwow32.def wow32/libwow32.a: wow32/wow32.spec $(WINEBUILD)
  2508. +       @cd wow32 && $(MAKE) `basename $@`
  2509. +
  2510. +ws2_32/libws2_32.def ws2_32/libws2_32.a: ws2_32/ws2_32.spec $(WINEBUILD)
  2511. +       @cd ws2_32 && $(MAKE) `basename $@`
  2512. +
  2513. +wsock32/libwsock32.def wsock32/libwsock32.a: wsock32/wsock32.spec $(WINEBUILD)
  2514. +       @cd wsock32 && $(MAKE) `basename $@`
  2515. +
  2516. +wtsapi32/libwtsapi32.def wtsapi32/libwtsapi32.a: wtsapi32/wtsapi32.spec $(WINEBUILD)
  2517. +       @cd wtsapi32 && $(MAKE) `basename $@`
  2518. +
  2519. +xinput1_3/libxinput.def xinput1_3/libxinput.a: xinput1_3/xinput1_3.spec $(WINEBUILD)
  2520. +       @cd xinput1_3 && $(MAKE) `basename $@`
  2521. +
  2522. +libd3dx9.a: d3dx9_36/libd3dx9.a
  2523. +       $(RM) $@ && $(LN_S) d3dx9_36/libd3dx9.a $@
  2524. +
  2525. +libd3dx9.def: d3dx9_36/libd3dx9.def
  2526. +       $(RM) $@ && $(LN_S) d3dx9_36/libd3dx9.def $@
  2527. +
  2528. +libwinspool.a: winspool.drv/libwinspool.a
  2529. +       $(RM) $@ && $(LN_S) winspool.drv/libwinspool.a $@
  2530. +
  2531. +libwinspool.def: winspool.drv/libwinspool.def
  2532. +       $(RM) $@ && $(LN_S) winspool.drv/libwinspool.def $@
  2533. +
  2534. +libxinput.a: xinput1_3/libxinput.a
  2535. +       $(RM) $@ && $(LN_S) xinput1_3/libxinput.a $@
  2536. +
  2537. +libxinput.def: xinput1_3/libxinput.def
  2538. +       $(RM) $@ && $(LN_S) xinput1_3/libxinput.def $@
  2539. +
  2540. +$(BUILDSUBDIRS): $(IMPORT_LIBS)
  2541. +$(INSTALLSUBDIRS:%=%/__install__) $(INSTALLSUBDIRS:%=%/__install-lib__): $(IMPORT_LIBS)
  2542. +
  2543. +# Map library name to the corresponding directory
  2544. +
  2545. +adsiid/libadsiid.a: adsiid
  2546. +dxerr8/libdxerr8.a: dxerr8
  2547. +dxerr9/libdxerr9.a: dxerr9
  2548. +dxguid/libdxguid.a: dxguid
  2549. +strmiids/libstrmiids.a: strmiids
  2550. +uuid/libuuid.a: uuid
  2551. +winecrt0/libwinecrt0.a: winecrt0
  2552. +
  2553. +# Misc rules
  2554. +
  2555. +.PHONY: $(WIN16_FILES:%=__install__/%)
  2556. +
  2557. +WIN16_INSTALL = $(WIN16_FILES:%=__install__/%)
  2558. +
  2559. +$(WIN16_FILES:%=__install__/%): $(WIN16_FILES) $(DESTDIR)$(dlldir) dummy
  2560. +       $(INSTALL_DATA) `basename $@` $(DESTDIR)$(dlldir)/`basename $@`
  2561. +
  2562. +install install-lib:: $(WIN16_INSTALL)
  2563. +
  2564. +uninstall::
  2565. +       -cd $(DESTDIR)$(dlldir) && $(RM) $(WIN16_FILES)
  2566. +       -rmdir $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)
  2567. +
  2568. +clean::
  2569. +       $(RM) $(IMPORT_SYMLINKS) $(WIN16_FILES)
  2570. diff -rupN wine-1.5.19/dlls/ntdll/file.c wine-silverlight-1.5.19/dlls/ntdll/file.c
  2571. --- wine-1.5.19/dlls/ntdll/file.c       2012-12-07 11:17:32.000000000 -0800
  2572. +++ wine-silverlight-1.5.19/dlls/ntdll/file.c   2012-12-20 18:16:39.456236619 -0800
  2573. @@ -93,6 +93,81 @@ mode_t FILE_umask = 0;
  2574.  #define SECS_1601_TO_1970  ((369 * 365 + 89) * (ULONGLONG)SECSPERDAY)
  2575.  
  2576.  
  2577. +static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATTRIBUTES attr,
  2578. +                                 PIO_STATUS_BLOCK io, PLARGE_INTEGER alloc_size,
  2579. +                                 ULONG attributes, ULONG sharing, ULONG disposition,
  2580. +                                 ULONG options, PVOID ea_buffer, ULONG ea_length );
  2581. +
  2582. +struct security_descriptor *FILE_get_parent_sd(UNICODE_STRING *filenameW)
  2583. +{
  2584. +    SECURITY_INFORMATION info = OWNER_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION
  2585. +                                |DACL_SECURITY_INFORMATION|SACL_SECURITY_INFORMATION;
  2586. +    PSECURITY_DESCRIPTOR parentsd = NULL;
  2587. +    ACL_SIZE_INFORMATION acl_size;
  2588. +    BOOLEAN present, defaulted;
  2589. +    WCHAR *p, parent[MAX_PATH];
  2590. +    OBJECT_ATTRIBUTES pattr;
  2591. +    UNICODE_STRING parentW;
  2592. +    IO_STATUS_BLOCK io;
  2593. +    NTSTATUS status;
  2594. +    HANDLE hparent;
  2595. +    ULONG n1, n2;
  2596. +    PACL pDacl;
  2597. +    int i;
  2598. +
  2599. +    parentW.Buffer = parent;
  2600. +    parentW.Length = filenameW->Length;
  2601. +    memcpy(parentW.Buffer, filenameW->Buffer, filenameW->Length);
  2602. +    if ((p = strrchrW(parent, '\\')) != NULL)
  2603. +    {
  2604. +        p[0] = 0;
  2605. +        parentW.Length = (p-parent)*sizeof(WCHAR);
  2606. +    }
  2607. +    memset(&pattr, 0x0, sizeof(pattr));
  2608. +    pattr.Length = sizeof(pattr);
  2609. +    pattr.Attributes = OBJ_CASE_INSENSITIVE;
  2610. +    pattr.ObjectName = &parentW;
  2611. +    status = FILE_CreateFile( &hparent, READ_CONTROL|ACCESS_SYSTEM_SECURITY, &pattr, &io, NULL,
  2612. +                              FILE_FLAG_BACKUP_SEMANTICS,
  2613. +                              FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, FILE_OPEN,
  2614. +                              FILE_OPEN_FOR_BACKUP_INTENT, NULL, 0 );
  2615. +    if (status == STATUS_SUCCESS)
  2616. +        status = NtQuerySecurityObject( hparent, info, NULL, 0, &n1 );
  2617. +    if (status == STATUS_BUFFER_TOO_SMALL && (parentsd = RtlAllocateHeap( GetProcessHeap(), 0, n1 )) != NULL)
  2618. +        status = NtQuerySecurityObject( hparent, info, parentsd, n1, &n2 );
  2619. +    if (status == STATUS_SUCCESS)
  2620. +        status = NtQuerySecurityObject( hparent, info, parentsd, n1, &n2 );
  2621. +    if (hparent != INVALID_HANDLE_VALUE)
  2622. +        NtClose( hparent );
  2623. +    if (status != STATUS_SUCCESS) return NULL;
  2624. +    status = RtlGetDaclSecurityDescriptor(parentsd, &present, &pDacl, &defaulted);
  2625. +    if (status != STATUS_SUCCESS || !present) return NULL;
  2626. +    status = RtlQueryInformationAcl(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
  2627. +    if (status != STATUS_SUCCESS) return NULL;
  2628. +
  2629. +    for (i=acl_size.AceCount-1; i>=0; i--)
  2630. +    {
  2631. +        DWORD inheritance_mask = INHERIT_ONLY_ACE|OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE;
  2632. +        ACE_HEADER *ace;
  2633. +
  2634. +        status = RtlGetAce(pDacl, i, (VOID **)&ace);
  2635. +        if (status != STATUS_SUCCESS || !(ace->AceFlags & inheritance_mask))
  2636. +        {
  2637. +            RtlDeleteAce(pDacl, i);
  2638. +            acl_size.AceCount--;
  2639. +        }
  2640. +        else
  2641. +            ace->AceFlags = (ace->AceFlags & ~inheritance_mask) | INHERITED_ACE;
  2642. +    }
  2643. +
  2644. +    if (!acl_size.AceCount)
  2645. +    {
  2646. +        return NULL;
  2647. +    }
  2648. +    return parentsd;
  2649. +}
  2650. +
  2651. +
  2652.  /**************************************************************************
  2653.   *                 FILE_CreateFile                    (internal)
  2654.   * Open a file.
  2655. @@ -151,10 +226,18 @@ static NTSTATUS FILE_CreateFile( PHANDLE
  2656.      {
  2657.          struct security_descriptor *sd;
  2658.          struct object_attributes objattr;
  2659. +        PSECURITY_DESCRIPTOR parentsd = NULL, psd;
  2660.  
  2661.          objattr.rootdir = wine_server_obj_handle( attr->RootDirectory );
  2662.          objattr.name_len = 0;
  2663. -        io->u.Status = NTDLL_create_struct_sd( attr->SecurityDescriptor, &sd, &objattr.sd_len );
  2664. +        psd = attr->SecurityDescriptor;
  2665. +        if (!psd && (disposition == FILE_CREATE||disposition == FILE_OVERWRITE_IF))
  2666. +            parentsd = FILE_get_parent_sd( attr->ObjectName );
  2667. +        if (parentsd)
  2668. +            psd = parentsd;
  2669. +        io->u.Status = NTDLL_create_struct_sd( psd, &sd, &objattr.sd_len );
  2670. +        if (parentsd)
  2671. +            RtlFreeHeap( GetProcessHeap(), 0, parentsd );
  2672.          if (io->u.Status != STATUS_SUCCESS)
  2673.          {
  2674.              RtlFreeAnsiString( &unix_name );
  2675. diff -rupN wine-1.5.19/dlls/user32/message.c wine-silverlight-1.5.19/dlls/user32/message.c
  2676. --- wine-1.5.19/dlls/user32/message.c   2012-12-07 11:17:32.000000000 -0800
  2677. +++ wine-silverlight-1.5.19/dlls/user32/message.c       2012-12-20 18:16:39.332911445 -0800
  2678. @@ -4371,12 +4371,17 @@ UINT_PTR WINAPI SetTimer( HWND hwnd, UIN
  2679.  
  2680.      if (proc) winproc = WINPROC_AllocProc( (WNDPROC)proc, FALSE );
  2681.  
  2682. +    if (timeout < USER_TIMER_MINIMUM)
  2683. +        timeout = USER_TIMER_MINIMUM;
  2684. +    else if (timeout > USER_TIMER_MAXIMUM)
  2685. +        timeout = USER_TIMER_MAXIMUM;
  2686. +
  2687.      SERVER_START_REQ( set_win_timer )
  2688.      {
  2689.          req->win    = wine_server_user_handle( hwnd );
  2690.          req->msg    = WM_TIMER;
  2691.          req->id     = id;
  2692. -        req->rate   = max( timeout, SYS_TIMER_RATE );
  2693. +        req->rate   = timeout;
  2694.          req->lparam = (ULONG_PTR)winproc;
  2695.          if (!wine_server_call_err( req ))
  2696.          {
  2697. diff -rupN wine-1.5.19/dlls/winecoreaudio.drv/Makefile wine-silverlight-1.5.19/dlls/winecoreaudio.drv/Makefile
  2698. --- wine-1.5.19/dlls/winecoreaudio.drv/Makefile 1969-12-31 16:00:00.000000000 -0800
  2699. +++ wine-silverlight-1.5.19/dlls/winecoreaudio.drv/Makefile     2012-12-20 18:16:39.399573701 -0800
  2700. @@ -0,0 +1,480 @@
  2701. +TOPSRCDIR = ../..
  2702. +TOPOBJDIR = ../..
  2703. +SRCDIR    = .
  2704. +
  2705. +MODULE    = winecoreaudio.drv
  2706. +IMPORTS   = uuid winmm user32 kernel32
  2707. +EXTRALIBS =
  2708. +
  2709. +C_SRCS = \
  2710. +       audio.c \
  2711. +       audiounit.c \
  2712. +       coreaudio.c \
  2713. +       coremidi.c \
  2714. +       midi.c \
  2715. +       mixer.c
  2716. +
  2717. +# Global rules for building dlls     -*-Makefile-*-
  2718. +#
  2719. +# Each individual makefile should define the following variables:
  2720. +# MODULE       : name of the main module being built
  2721. +# EXTRALIBS    : extra libraries to link in (optional)
  2722. +# SPEC_SRCS16  : interface definition files for 16-bit dlls (optional)
  2723. +#
  2724. +# plus all variables required by the global Make.rules.in
  2725. +#
  2726. +
  2727. +DLLFLAGS    = -D_REENTRANT -fPIC
  2728. +MINGWAR     = i586-mingw32msvc-ar
  2729. +DEFS        = -D__WINESRC__ $(EXTRADEFS)
  2730. +BASEMODULE  = $(MODULE:%.dll=%)
  2731. +MAINSPEC    = $(BASEMODULE).spec
  2732. +SPEC_DEF    = $(BASEMODULE).def
  2733. +WIN16_FILES = $(SPEC_SRCS16:.spec=.spec.o) $(C_SRCS16:.c=.o) $(EXTRA_OBJS16)
  2734. +ALL_OBJS    = $(WIN16_FILES) $(OBJS)
  2735. +ALL_LIBS    = $(LIBPORT) $(EXTRALIBS) $(LDFLAGS) $(LIBS)
  2736. +IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o)
  2737. +IMPORTLIBFILE = $(IMPORTLIB:%=lib%.def)
  2738. +STATICIMPLIB  = $(IMPORTLIBFILE:.def=.def.a)
  2739. +DLL_LDPATH  = -L$(DLLDIR) $(DELAYIMPORTS:%=-L$(DLLDIR)/%) $(IMPORTS:%=-L$(DLLDIR)/%)
  2740. +INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine
  2741. +
  2742. +# Global rules shared by all makefiles     -*-Makefile-*-
  2743. +#
  2744. +# Each individual makefile must define the following variables:
  2745. +# TOPSRCDIR    : top-level source directory
  2746. +# TOPOBJDIR    : top-level object directory
  2747. +# SRCDIR       : source directory for this module
  2748. +# MODULE       : name of the module being built
  2749. +#
  2750. +# Each individual makefile may define the following additional variables:
  2751. +# C_SRCS       : C sources for the module
  2752. +# C_SRCS16     : 16-bit C sources for the module
  2753. +# RC_SRCS      : resource source files
  2754. +# EXTRA_SRCS   : extra source files for make depend
  2755. +# EXTRA_OBJS   : extra object files
  2756. +# IMPORTS      : dlls to import
  2757. +# DELAYIMPORTS : dlls to import in delayed mode
  2758. +# SUBDIRS      : subdirectories that contain a Makefile
  2759. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  2760. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  2761. +# MODCFLAGS    : extra CFLAGS for this module
  2762. +
  2763. +# First some useful definitions
  2764. +
  2765. +SHELL     = /bin/sh
  2766. +CC        = ccache gcc -m32
  2767. +CFLAGS    = -g -O2
  2768. +CPPFLAGS  =
  2769. +LIBS      =
  2770. +BISON     = bison
  2771. +FLEX      = flex
  2772. +EXEEXT    =
  2773. +OBJEXT    = o
  2774. +LIBEXT    = so
  2775. +DLLEXT    = .so
  2776. +TOOLSEXT  =
  2777. +IMPLIBEXT = def
  2778. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  2779. +DLLTOOL   = i586-mingw32msvc-dlltool
  2780. +DLLWRAP   =
  2781. +AR        = ar
  2782. +ARFLAGS   = rc
  2783. +RANLIB    = ranlib
  2784. +STRIP     = strip
  2785. +LN        = ln
  2786. +LN_S      = ln -s
  2787. +TOOLSDIR  = $(TOPOBJDIR)
  2788. +LDFLAGS   =
  2789. +PRELINK   = /usr/sbin/prelink
  2790. +RM        = rm -f
  2791. +MV        = mv
  2792. +LINT      =
  2793. +LINTFLAGS =
  2794. +FONTFORGE = fontforge
  2795. +RSVG      = false
  2796. +ICOTOOL   = icotool
  2797. +FAKEEXT   = $(DLLEXT:.so=.fake)
  2798. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  2799. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  2800. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  2801. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  2802. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  2803. +TARGETFLAGS  = -m32
  2804. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  2805. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  2806. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  2807. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  2808. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  2809. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  2810. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  2811. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  2812. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  2813. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  2814. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  2815. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  2816. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  2817. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  2818. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  2819. +RC           = $(WRC)
  2820. +RC16         = $(WRC)
  2821. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  2822. +RC16FLAGS    = -O res16 $(RCFLAGS)
  2823. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  2824. +DLLDIR       = $(TOPOBJDIR)/dlls
  2825. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  2826. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  2827. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  2828. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  2829. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  2830. +
  2831. +
  2832. +
  2833. +# Installation infos
  2834. +
  2835. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  2836. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  2837. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  2838. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  2839. +prefix          = /usr/local
  2840. +exec_prefix     = ${prefix}
  2841. +bindir          = ${exec_prefix}/bin
  2842. +libdir          = ${exec_prefix}/lib
  2843. +datarootdir     = ${prefix}/share
  2844. +datadir         = ${datarootdir}
  2845. +infodir         = ${datarootdir}/info
  2846. +mandir          = ${datarootdir}/man
  2847. +sysconfdir      = ${prefix}/etc
  2848. +includedir      = ${prefix}/include/wine
  2849. +dlldir          = ${exec_prefix}/lib/wine
  2850. +fakedlldir      = $(dlldir)/fakedlls
  2851. +prog_manext     = 1
  2852. +api_manext      = 3w
  2853. +conf_manext     = 5
  2854. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  2855. +
  2856. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  2857. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  2858. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  2859. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  2860. +
  2861. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  2862. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  2863. +
  2864. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  2865. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  2866. +
  2867. +LINTS  = $(C_SRCS:.c=.ln)
  2868. +
  2869. +# 'all' target first in case the enclosing Makefile didn't define any target
  2870. +
  2871. +all:
  2872. +
  2873. +filter: dummy
  2874. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  2875. +
  2876. +.PHONY: all filter
  2877. +
  2878. +# Implicit rules
  2879. +
  2880. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  2881. +
  2882. +.c.o:
  2883. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  2884. +
  2885. +.y.tab.c:
  2886. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  2887. +
  2888. +.y.tab.h:
  2889. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  2890. +
  2891. +.l.yy.c:
  2892. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  2893. +
  2894. +.mc.mc.rc:
  2895. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  2896. +
  2897. +.rc.res:
  2898. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  2899. +
  2900. +.spec.spec.o:
  2901. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  2902. +
  2903. +.idl.h:
  2904. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  2905. +
  2906. +.idl_c.c:
  2907. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  2908. +
  2909. +.idl_i.c:
  2910. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  2911. +
  2912. +.idl_p.c:
  2913. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  2914. +
  2915. +.idl_s.c:
  2916. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  2917. +
  2918. +.idl.tlb:
  2919. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  2920. +
  2921. +.c.ln:
  2922. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  2923. +
  2924. +.c.ok:
  2925. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  2926. +
  2927. +.sfd.ttf:
  2928. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  2929. +
  2930. +.man.in.man:
  2931. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  2932. +
  2933. +.svg.ico:
  2934. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  2935. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  2936. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  2937. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  2938. +       $(RM) $*-16.png $*-32.png $*-48.png
  2939. +
  2940. +# Rules for IDL files
  2941. +
  2942. +dlldata.c: $(WIDL) Makefile.in
  2943. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  2944. +
  2945. +# Rule for linting
  2946. +
  2947. +$(MODULE).ln : $(LINTS)
  2948. +       if test "$(LINTS)" ; \
  2949. +       then \
  2950. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  2951. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  2952. +       else \
  2953. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  2954. +       fi
  2955. +
  2956. +lint:: $(MODULE).ln
  2957. +
  2958. +# Rules for Windows API checking
  2959. +
  2960. +winapi_check:: dummy
  2961. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  2962. +
  2963. +.PHONY: winapi_check
  2964. +
  2965. +# Rules for dependencies
  2966. +
  2967. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  2968. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  2969. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  2970. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  2971. +
  2972. +$(SUBDIRS:%=%/__depend__): dummy
  2973. +       @cd `dirname $@` && $(MAKE) depend
  2974. +
  2975. +depend: $(SUBDIRS:%=%/__depend__) dummy
  2976. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  2977. +
  2978. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  2979. +
  2980. +# Rules for cleaning
  2981. +
  2982. +$(SUBDIRS:%=%/__clean__): dummy
  2983. +       @cd `dirname $@` && $(MAKE) clean
  2984. +
  2985. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  2986. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  2987. +
  2988. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  2989. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  2990. +
  2991. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  2992. +
  2993. +# Rules for installing
  2994. +
  2995. +$(SUBDIRS:%=%/__install__): dummy
  2996. +       @cd `dirname $@` && $(MAKE) install
  2997. +
  2998. +$(SUBDIRS:%=%/__install-lib__): dummy
  2999. +       @cd `dirname $@` && $(MAKE) install-lib
  3000. +
  3001. +$(SUBDIRS:%=%/__install-dev__): dummy
  3002. +       @cd `dirname $@` && $(MAKE) install-dev
  3003. +
  3004. +$(SUBDIRS:%=%/__uninstall__): dummy
  3005. +       @cd `dirname $@` && $(MAKE) uninstall
  3006. +
  3007. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  3008. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  3009. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  3010. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  3011. +
  3012. +$(INSTALLDIRS):
  3013. +       $(MKINSTALLDIRS) $@
  3014. +
  3015. +.PHONY: install install-lib install-dev uninstall \
  3016. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  3017. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  3018. +
  3019. +# Rules for testing
  3020. +
  3021. +$(TESTSUBDIRS:%=%/__test__): dummy
  3022. +       @cd `dirname $@` && $(MAKE) test
  3023. +
  3024. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  3025. +       @cd `dirname $@` && $(MAKE) crosstest
  3026. +
  3027. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  3028. +       @cd `dirname $@` && $(MAKE) testclean
  3029. +
  3030. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  3031. +
  3032. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  3033. +
  3034. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  3035. +
  3036. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  3037. +
  3038. +# Rules for auto documentation
  3039. +
  3040. +$(DOCSUBDIRS:%=%/__man__): dummy
  3041. +       @cd `dirname $@` && $(MAKE) man
  3042. +
  3043. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  3044. +       @cd `dirname $@` && $(MAKE) doc-html
  3045. +
  3046. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  3047. +       @cd `dirname $@` && $(MAKE) doc-sgml
  3048. +
  3049. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  3050. +       @cd `dirname $@` && $(MAKE) doc-xml
  3051. +
  3052. +man: $(DOCSUBDIRS:%=%/__man__)
  3053. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  3054. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  3055. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  3056. +
  3057. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  3058. +
  3059. +# Misc. rules
  3060. +
  3061. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  3062. +
  3063. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  3064. +
  3065. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  3066. +
  3067. +$(SUBDIRS): dummy
  3068. +       @cd $@ && $(MAKE)
  3069. +
  3070. +dummy:
  3071. +
  3072. +.PHONY: dummy $(SUBDIRS)
  3073. +
  3074. +# End of global rules
  3075. +
  3076. +all: $(MODULE)$(DLLEXT) $(MODULE)$(FAKEEXT) $(SUBDIRS)
  3077. +
  3078. +$(MODULE) $(MODULE).so $(MODULE).fake: $(MAINSPEC) $(ALL_OBJS) Makefile.in
  3079. +       $(WINEGCC) -shared $(SRCDIR)/$(MAINSPEC) $(ALL_OBJS) $(EXTRADLLFLAGS) -o $@ $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
  3080. +
  3081. +# Rules for import libraries
  3082. +
  3083. +.PHONY: implib $(IMPLIB_SRCS:%=__static_implib__%)
  3084. +
  3085. +all implib: $(IMPORTLIBFILE) $(IMPLIB_SRCS:%=__static_implib__%)
  3086. +
  3087. +$(IMPLIB_SRCS:%=__static_implib__%): $(STATICIMPLIB)
  3088. +
  3089. +$(SPEC_DEF) $(IMPORTLIB:%=lib%.def): $(MAINSPEC)
  3090. +       $(WINEBUILD) $(TARGETFLAGS) -w --def -o $@ --export $(SRCDIR)/$(MAINSPEC)
  3091. +
  3092. +$(IMPORTLIB:%=lib%.def.a): $(IMPLIB_OBJS)
  3093. +       $(RM) $@
  3094. +       $(AR) $(ARFLAGS) $@ $(IMPLIB_OBJS)
  3095. +       $(RANLIB) $@
  3096. +
  3097. +$(IMPORTLIB:%=lib%.a): $(SPEC_DEF) $(IMPLIB_OBJS)
  3098. +       $(DLLTOOL) -k -l $@ -d $(SPEC_DEF)
  3099. +       $(MINGWAR) rs $@ $(IMPLIB_OBJS)
  3100. +
  3101. +$(SUBDIRS): implib
  3102. +
  3103. +# Rules for testing
  3104. +
  3105. +check test:: $(SUBDIRS:%=%/__test__) dummy
  3106. +
  3107. +crosstest:: $(SUBDIRS:%=%/__crosstest__) dummy
  3108. +
  3109. +# Rules for auto documentation
  3110. +
  3111. +man: $(C_SRCS) dummy
  3112. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/man$(api_manext) -R$(TOPOBJDIR) -C$(SRCDIR) -S$(api_manext) $(INCLUDES) $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3113. +
  3114. +doc-html: $(C_SRCS) dummy
  3115. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/html -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Th $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3116. +
  3117. +doc-sgml: $(C_SRCS) dummy
  3118. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Ts $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3119. +
  3120. +doc-xml: $(C_SRCS) dummy
  3121. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide-xml -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Tx $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3122. +
  3123. +.PHONY: man doc-html doc-sgml doc-xml
  3124. +
  3125. +# Rules for installation
  3126. +
  3127. +.PHONY: install_static_implib_def install_static_implib_a
  3128. +.PHONY: $(IMPORTLIB:%=_install_/%) $(IMPLIB_SRCS:%=_install_static_implib_/%)
  3129. +
  3130. +$(IMPORTLIB:%=_install_/%): $(IMPORTLIBFILE) $(DESTDIR)$(dlldir) dummy
  3131. +       $(INSTALL_DATA) $(IMPORTLIBFILE) $(DESTDIR)$(dlldir)/$(IMPORTLIBFILE)
  3132. +
  3133. +install_static_implib_def: $(STATICIMPLIB) $(DESTDIR)$(dlldir) dummy
  3134. +       $(INSTALL_DATA) $(STATICIMPLIB) $(DESTDIR)$(dlldir)/$(STATICIMPLIB)
  3135. +
  3136. +install_static_implib_a:
  3137. +
  3138. +$(IMPLIB_SRCS:%=_install_static_implib_/%): install_static_implib_$(IMPLIBEXT)
  3139. +
  3140. +.PHONY: install_dll install_dll.so install_dll.fake
  3141. +
  3142. +install_dll: $(MODULE) $(DESTDIR)$(dlldir) dummy
  3143. +       $(INSTALL_PROGRAM) $(MODULE) $(DESTDIR)$(dlldir)/$(MODULE)
  3144. +
  3145. +install_dll.so: $(MODULE).so $(DESTDIR)$(dlldir) dummy
  3146. +       $(INSTALL_PROGRAM) $(MODULE).so $(DESTDIR)$(dlldir)/$(MODULE).so
  3147. +
  3148. +install_dll.fake: $(MODULE).fake $(DESTDIR)$(fakedlldir) dummy
  3149. +       $(INSTALL_DATA) $(MODULE).fake $(DESTDIR)$(fakedlldir)/$(MODULE)
  3150. +
  3151. +install install-lib:: install_dll$(DLLEXT) install_dll$(FAKEEXT)
  3152. +
  3153. +install install-dev:: $(IMPORTLIB:%=_install_/%) $(IMPLIB_SRCS:%=_install_static_implib_/%) dummy
  3154. +
  3155. +uninstall::
  3156. +       -cd $(DESTDIR)$(dlldir) && $(RM) $(MODULE)$(DLLEXT) $(IMPORTLIBFILE) $(STATICIMPLIB)
  3157. +       $(RM) $(DESTDIR)$(fakedlldir)/$(MODULE)
  3158. +
  3159. +# Misc. rules
  3160. +
  3161. +clean::
  3162. +       $(RM) $(SPEC_DEF) $(IMPORTLIBFILE)
  3163. +
  3164. +$(SPEC_DEF) $(SPEC_SRCS16:.spec=.spec.o): $(WINEBUILD)
  3165. +
  3166. +# End of global dll rules
  3167. +
  3168. +### Dependencies:
  3169. +
  3170. +.INIT: Makefile
  3171. +.BEGIN: Makefile
  3172. +.MAKEFILEDEPS:
  3173. +Makefile: dummy
  3174. +       -$(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  3175. +
  3176. +$(OBJS) $(C_SRCS16:.c=.o): $(IDL_GEN_HEADERS)
  3177. +$(IDL_GEN_C_SRCS:.c=.o): $(IDL_GEN_C_SRCS)
  3178. +$(RC_SRCS:.rc=.res): $(IDL_TLB_SRCS:.idl=.tlb)
  3179. +$(LEX_SRCS:.l=.yy.o): $(LEX_SRCS:.l=.yy.c)
  3180. +$(BISON_SRCS:.y=.tab.o): $(BISON_SRCS:.y=.tab.c)  # everything below this line is overwritten by make depend
  3181. diff -rupN wine-1.5.19/dlls/winequartz.drv/Makefile wine-silverlight-1.5.19/dlls/winequartz.drv/Makefile
  3182. --- wine-1.5.19/dlls/winequartz.drv/Makefile    1969-12-31 16:00:00.000000000 -0800
  3183. +++ wine-silverlight-1.5.19/dlls/winequartz.drv/Makefile        2012-12-20 18:16:39.222918723 -0800
  3184. @@ -0,0 +1,474 @@
  3185. +TOPSRCDIR = ../..
  3186. +TOPOBJDIR = ../..
  3187. +SRCDIR    = .
  3188. +
  3189. +MODULE    = winequartz.drv
  3190. +IMPORTS   = user32 gdi32 advapi32 kernel32 ntdll
  3191. +
  3192. +C_SRCS = \
  3193. +       quartzdrv_main.c
  3194. +
  3195. +# Global rules for building dlls     -*-Makefile-*-
  3196. +#
  3197. +# Each individual makefile should define the following variables:
  3198. +# MODULE       : name of the main module being built
  3199. +# EXTRALIBS    : extra libraries to link in (optional)
  3200. +# SPEC_SRCS16  : interface definition files for 16-bit dlls (optional)
  3201. +#
  3202. +# plus all variables required by the global Make.rules.in
  3203. +#
  3204. +
  3205. +DLLFLAGS    = -D_REENTRANT -fPIC
  3206. +MINGWAR     = i586-mingw32msvc-ar
  3207. +DEFS        = -D__WINESRC__ $(EXTRADEFS)
  3208. +BASEMODULE  = $(MODULE:%.dll=%)
  3209. +MAINSPEC    = $(BASEMODULE).spec
  3210. +SPEC_DEF    = $(BASEMODULE).def
  3211. +WIN16_FILES = $(SPEC_SRCS16:.spec=.spec.o) $(C_SRCS16:.c=.o) $(EXTRA_OBJS16)
  3212. +ALL_OBJS    = $(WIN16_FILES) $(OBJS)
  3213. +ALL_LIBS    = $(LIBPORT) $(EXTRALIBS) $(LDFLAGS) $(LIBS)
  3214. +IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o)
  3215. +IMPORTLIBFILE = $(IMPORTLIB:%=lib%.def)
  3216. +STATICIMPLIB  = $(IMPORTLIBFILE:.def=.def.a)
  3217. +DLL_LDPATH  = -L$(DLLDIR) $(DELAYIMPORTS:%=-L$(DLLDIR)/%) $(IMPORTS:%=-L$(DLLDIR)/%)
  3218. +INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/wine
  3219. +
  3220. +# Global rules shared by all makefiles     -*-Makefile-*-
  3221. +#
  3222. +# Each individual makefile must define the following variables:
  3223. +# TOPSRCDIR    : top-level source directory
  3224. +# TOPOBJDIR    : top-level object directory
  3225. +# SRCDIR       : source directory for this module
  3226. +# MODULE       : name of the module being built
  3227. +#
  3228. +# Each individual makefile may define the following additional variables:
  3229. +# C_SRCS       : C sources for the module
  3230. +# C_SRCS16     : 16-bit C sources for the module
  3231. +# RC_SRCS      : resource source files
  3232. +# EXTRA_SRCS   : extra source files for make depend
  3233. +# EXTRA_OBJS   : extra object files
  3234. +# IMPORTS      : dlls to import
  3235. +# DELAYIMPORTS : dlls to import in delayed mode
  3236. +# SUBDIRS      : subdirectories that contain a Makefile
  3237. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  3238. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  3239. +# MODCFLAGS    : extra CFLAGS for this module
  3240. +
  3241. +# First some useful definitions
  3242. +
  3243. +SHELL     = /bin/sh
  3244. +CC        = ccache gcc -m32
  3245. +CFLAGS    = -g -O2
  3246. +CPPFLAGS  =
  3247. +LIBS      =
  3248. +BISON     = bison
  3249. +FLEX      = flex
  3250. +EXEEXT    =
  3251. +OBJEXT    = o
  3252. +LIBEXT    = so
  3253. +DLLEXT    = .so
  3254. +TOOLSEXT  =
  3255. +IMPLIBEXT = def
  3256. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  3257. +DLLTOOL   = i586-mingw32msvc-dlltool
  3258. +DLLWRAP   =
  3259. +AR        = ar
  3260. +ARFLAGS   = rc
  3261. +RANLIB    = ranlib
  3262. +STRIP     = strip
  3263. +LN        = ln
  3264. +LN_S      = ln -s
  3265. +TOOLSDIR  = $(TOPOBJDIR)
  3266. +LDFLAGS   =
  3267. +PRELINK   = /usr/sbin/prelink
  3268. +RM        = rm -f
  3269. +MV        = mv
  3270. +LINT      =
  3271. +LINTFLAGS =
  3272. +FONTFORGE = fontforge
  3273. +RSVG      = false
  3274. +ICOTOOL   = icotool
  3275. +FAKEEXT   = $(DLLEXT:.so=.fake)
  3276. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  3277. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  3278. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  3279. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  3280. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  3281. +TARGETFLAGS  = -m32
  3282. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  3283. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  3284. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  3285. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  3286. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  3287. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  3288. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  3289. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  3290. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  3291. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  3292. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  3293. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  3294. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  3295. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  3296. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  3297. +RC           = $(WRC)
  3298. +RC16         = $(WRC)
  3299. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  3300. +RC16FLAGS    = -O res16 $(RCFLAGS)
  3301. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  3302. +DLLDIR       = $(TOPOBJDIR)/dlls
  3303. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  3304. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  3305. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  3306. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  3307. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  3308. +
  3309. +
  3310. +
  3311. +# Installation infos
  3312. +
  3313. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  3314. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  3315. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  3316. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  3317. +prefix          = /usr/local
  3318. +exec_prefix     = ${prefix}
  3319. +bindir          = ${exec_prefix}/bin
  3320. +libdir          = ${exec_prefix}/lib
  3321. +datarootdir     = ${prefix}/share
  3322. +datadir         = ${datarootdir}
  3323. +infodir         = ${datarootdir}/info
  3324. +mandir          = ${datarootdir}/man
  3325. +sysconfdir      = ${prefix}/etc
  3326. +includedir      = ${prefix}/include/wine
  3327. +dlldir          = ${exec_prefix}/lib/wine
  3328. +fakedlldir      = $(dlldir)/fakedlls
  3329. +prog_manext     = 1
  3330. +api_manext      = 3w
  3331. +conf_manext     = 5
  3332. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  3333. +
  3334. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  3335. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  3336. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  3337. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  3338. +
  3339. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  3340. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  3341. +
  3342. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  3343. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  3344. +
  3345. +LINTS  = $(C_SRCS:.c=.ln)
  3346. +
  3347. +# 'all' target first in case the enclosing Makefile didn't define any target
  3348. +
  3349. +all:
  3350. +
  3351. +filter: dummy
  3352. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  3353. +
  3354. +.PHONY: all filter
  3355. +
  3356. +# Implicit rules
  3357. +
  3358. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  3359. +
  3360. +.c.o:
  3361. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  3362. +
  3363. +.y.tab.c:
  3364. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  3365. +
  3366. +.y.tab.h:
  3367. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  3368. +
  3369. +.l.yy.c:
  3370. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  3371. +
  3372. +.mc.mc.rc:
  3373. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  3374. +
  3375. +.rc.res:
  3376. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  3377. +
  3378. +.spec.spec.o:
  3379. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  3380. +
  3381. +.idl.h:
  3382. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  3383. +
  3384. +.idl_c.c:
  3385. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  3386. +
  3387. +.idl_i.c:
  3388. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  3389. +
  3390. +.idl_p.c:
  3391. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  3392. +
  3393. +.idl_s.c:
  3394. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  3395. +
  3396. +.idl.tlb:
  3397. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  3398. +
  3399. +.c.ln:
  3400. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  3401. +
  3402. +.c.ok:
  3403. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  3404. +
  3405. +.sfd.ttf:
  3406. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  3407. +
  3408. +.man.in.man:
  3409. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  3410. +
  3411. +.svg.ico:
  3412. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  3413. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  3414. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  3415. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  3416. +       $(RM) $*-16.png $*-32.png $*-48.png
  3417. +
  3418. +# Rules for IDL files
  3419. +
  3420. +dlldata.c: $(WIDL) Makefile.in
  3421. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  3422. +
  3423. +# Rule for linting
  3424. +
  3425. +$(MODULE).ln : $(LINTS)
  3426. +       if test "$(LINTS)" ; \
  3427. +       then \
  3428. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  3429. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  3430. +       else \
  3431. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  3432. +       fi
  3433. +
  3434. +lint:: $(MODULE).ln
  3435. +
  3436. +# Rules for Windows API checking
  3437. +
  3438. +winapi_check:: dummy
  3439. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  3440. +
  3441. +.PHONY: winapi_check
  3442. +
  3443. +# Rules for dependencies
  3444. +
  3445. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  3446. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  3447. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  3448. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  3449. +
  3450. +$(SUBDIRS:%=%/__depend__): dummy
  3451. +       @cd `dirname $@` && $(MAKE) depend
  3452. +
  3453. +depend: $(SUBDIRS:%=%/__depend__) dummy
  3454. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  3455. +
  3456. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  3457. +
  3458. +# Rules for cleaning
  3459. +
  3460. +$(SUBDIRS:%=%/__clean__): dummy
  3461. +       @cd `dirname $@` && $(MAKE) clean
  3462. +
  3463. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  3464. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  3465. +
  3466. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  3467. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  3468. +
  3469. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  3470. +
  3471. +# Rules for installing
  3472. +
  3473. +$(SUBDIRS:%=%/__install__): dummy
  3474. +       @cd `dirname $@` && $(MAKE) install
  3475. +
  3476. +$(SUBDIRS:%=%/__install-lib__): dummy
  3477. +       @cd `dirname $@` && $(MAKE) install-lib
  3478. +
  3479. +$(SUBDIRS:%=%/__install-dev__): dummy
  3480. +       @cd `dirname $@` && $(MAKE) install-dev
  3481. +
  3482. +$(SUBDIRS:%=%/__uninstall__): dummy
  3483. +       @cd `dirname $@` && $(MAKE) uninstall
  3484. +
  3485. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  3486. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  3487. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  3488. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  3489. +
  3490. +$(INSTALLDIRS):
  3491. +       $(MKINSTALLDIRS) $@
  3492. +
  3493. +.PHONY: install install-lib install-dev uninstall \
  3494. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  3495. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  3496. +
  3497. +# Rules for testing
  3498. +
  3499. +$(TESTSUBDIRS:%=%/__test__): dummy
  3500. +       @cd `dirname $@` && $(MAKE) test
  3501. +
  3502. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  3503. +       @cd `dirname $@` && $(MAKE) crosstest
  3504. +
  3505. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  3506. +       @cd `dirname $@` && $(MAKE) testclean
  3507. +
  3508. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  3509. +
  3510. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  3511. +
  3512. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  3513. +
  3514. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  3515. +
  3516. +# Rules for auto documentation
  3517. +
  3518. +$(DOCSUBDIRS:%=%/__man__): dummy
  3519. +       @cd `dirname $@` && $(MAKE) man
  3520. +
  3521. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  3522. +       @cd `dirname $@` && $(MAKE) doc-html
  3523. +
  3524. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  3525. +       @cd `dirname $@` && $(MAKE) doc-sgml
  3526. +
  3527. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  3528. +       @cd `dirname $@` && $(MAKE) doc-xml
  3529. +
  3530. +man: $(DOCSUBDIRS:%=%/__man__)
  3531. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  3532. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  3533. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  3534. +
  3535. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  3536. +
  3537. +# Misc. rules
  3538. +
  3539. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  3540. +
  3541. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  3542. +
  3543. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  3544. +
  3545. +$(SUBDIRS): dummy
  3546. +       @cd $@ && $(MAKE)
  3547. +
  3548. +dummy:
  3549. +
  3550. +.PHONY: dummy $(SUBDIRS)
  3551. +
  3552. +# End of global rules
  3553. +
  3554. +all: $(MODULE)$(DLLEXT) $(MODULE)$(FAKEEXT) $(SUBDIRS)
  3555. +
  3556. +$(MODULE) $(MODULE).so $(MODULE).fake: $(MAINSPEC) $(ALL_OBJS) Makefile.in
  3557. +       $(WINEGCC) -shared $(SRCDIR)/$(MAINSPEC) $(ALL_OBJS) $(EXTRADLLFLAGS) -o $@ $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
  3558. +
  3559. +# Rules for import libraries
  3560. +
  3561. +.PHONY: implib $(IMPLIB_SRCS:%=__static_implib__%)
  3562. +
  3563. +all implib: $(IMPORTLIBFILE) $(IMPLIB_SRCS:%=__static_implib__%)
  3564. +
  3565. +$(IMPLIB_SRCS:%=__static_implib__%): $(STATICIMPLIB)
  3566. +
  3567. +$(SPEC_DEF) $(IMPORTLIB:%=lib%.def): $(MAINSPEC)
  3568. +       $(WINEBUILD) $(TARGETFLAGS) -w --def -o $@ --export $(SRCDIR)/$(MAINSPEC)
  3569. +
  3570. +$(IMPORTLIB:%=lib%.def.a): $(IMPLIB_OBJS)
  3571. +       $(RM) $@
  3572. +       $(AR) $(ARFLAGS) $@ $(IMPLIB_OBJS)
  3573. +       $(RANLIB) $@
  3574. +
  3575. +$(IMPORTLIB:%=lib%.a): $(SPEC_DEF) $(IMPLIB_OBJS)
  3576. +       $(DLLTOOL) -k -l $@ -d $(SPEC_DEF)
  3577. +       $(MINGWAR) rs $@ $(IMPLIB_OBJS)
  3578. +
  3579. +$(SUBDIRS): implib
  3580. +
  3581. +# Rules for testing
  3582. +
  3583. +check test:: $(SUBDIRS:%=%/__test__) dummy
  3584. +
  3585. +crosstest:: $(SUBDIRS:%=%/__crosstest__) dummy
  3586. +
  3587. +# Rules for auto documentation
  3588. +
  3589. +man: $(C_SRCS) dummy
  3590. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/man$(api_manext) -R$(TOPOBJDIR) -C$(SRCDIR) -S$(api_manext) $(INCLUDES) $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3591. +
  3592. +doc-html: $(C_SRCS) dummy
  3593. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/html -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Th $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3594. +
  3595. +doc-sgml: $(C_SRCS) dummy
  3596. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Ts $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3597. +
  3598. +doc-xml: $(C_SRCS) dummy
  3599. +       $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide-xml -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Tx $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
  3600. +
  3601. +.PHONY: man doc-html doc-sgml doc-xml
  3602. +
  3603. +# Rules for installation
  3604. +
  3605. +.PHONY: install_static_implib_def install_static_implib_a
  3606. +.PHONY: $(IMPORTLIB:%=_install_/%) $(IMPLIB_SRCS:%=_install_static_implib_/%)
  3607. +
  3608. +$(IMPORTLIB:%=_install_/%): $(IMPORTLIBFILE) $(DESTDIR)$(dlldir) dummy
  3609. +       $(INSTALL_DATA) $(IMPORTLIBFILE) $(DESTDIR)$(dlldir)/$(IMPORTLIBFILE)
  3610. +
  3611. +install_static_implib_def: $(STATICIMPLIB) $(DESTDIR)$(dlldir) dummy
  3612. +       $(INSTALL_DATA) $(STATICIMPLIB) $(DESTDIR)$(dlldir)/$(STATICIMPLIB)
  3613. +
  3614. +install_static_implib_a:
  3615. +
  3616. +$(IMPLIB_SRCS:%=_install_static_implib_/%): install_static_implib_$(IMPLIBEXT)
  3617. +
  3618. +.PHONY: install_dll install_dll.so install_dll.fake
  3619. +
  3620. +install_dll: $(MODULE) $(DESTDIR)$(dlldir) dummy
  3621. +       $(INSTALL_PROGRAM) $(MODULE) $(DESTDIR)$(dlldir)/$(MODULE)
  3622. +
  3623. +install_dll.so: $(MODULE).so $(DESTDIR)$(dlldir) dummy
  3624. +       $(INSTALL_PROGRAM) $(MODULE).so $(DESTDIR)$(dlldir)/$(MODULE).so
  3625. +
  3626. +install_dll.fake: $(MODULE).fake $(DESTDIR)$(fakedlldir) dummy
  3627. +       $(INSTALL_DATA) $(MODULE).fake $(DESTDIR)$(fakedlldir)/$(MODULE)
  3628. +
  3629. +install install-lib:: install_dll$(DLLEXT) install_dll$(FAKEEXT)
  3630. +
  3631. +install install-dev:: $(IMPORTLIB:%=_install_/%) $(IMPLIB_SRCS:%=_install_static_implib_/%) dummy
  3632. +
  3633. +uninstall::
  3634. +       -cd $(DESTDIR)$(dlldir) && $(RM) $(MODULE)$(DLLEXT) $(IMPORTLIBFILE) $(STATICIMPLIB)
  3635. +       $(RM) $(DESTDIR)$(fakedlldir)/$(MODULE)
  3636. +
  3637. +# Misc. rules
  3638. +
  3639. +clean::
  3640. +       $(RM) $(SPEC_DEF) $(IMPORTLIBFILE)
  3641. +
  3642. +$(SPEC_DEF) $(SPEC_SRCS16:.spec=.spec.o): $(WINEBUILD)
  3643. +
  3644. +# End of global dll rules
  3645. +
  3646. +### Dependencies:
  3647. +
  3648. +.INIT: Makefile
  3649. +.BEGIN: Makefile
  3650. +.MAKEFILEDEPS:
  3651. +Makefile: dummy
  3652. +       -$(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  3653. +
  3654. +$(OBJS) $(C_SRCS16:.c=.o): $(IDL_GEN_HEADERS)
  3655. +$(IDL_GEN_C_SRCS:.c=.o): $(IDL_GEN_C_SRCS)
  3656. +$(RC_SRCS:.rc=.res): $(IDL_TLB_SRCS:.idl=.tlb)
  3657. +$(LEX_SRCS:.l=.yy.o): $(LEX_SRCS:.l=.yy.c)
  3658. +$(BISON_SRCS:.y=.tab.o): $(BISON_SRCS:.y=.tab.c)  # everything below this line is overwritten by make depend
  3659. diff -rupN wine-1.5.19/dlls/ws2_32/socket.c wine-silverlight-1.5.19/dlls/ws2_32/socket.c
  3660. --- wine-1.5.19/dlls/ws2_32/socket.c    2012-12-07 11:17:32.000000000 -0800
  3661. +++ wine-silverlight-1.5.19/dlls/ws2_32/socket.c        2012-12-20 18:16:39.409573040 -0800
  3662. @@ -3386,10 +3386,18 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code
  3663.         }
  3664.  
  3665.     case WS_SIO_ADDRESS_LIST_CHANGE:
  3666. -       FIXME("-> SIO_ADDRESS_LIST_CHANGE request: stub\n");
  3667. -       /* FIXME: error and return code depend on whether socket was created
  3668. -        * with WSA_FLAG_OVERLAPPED, but there is no easy way to get this */
  3669. +   {
  3670. +       HANDLE handle;
  3671. +
  3672. +       TRACE("-> SIO_ADDRESS_LIST_CHANGE request\n");
  3673. +
  3674. +       if (overlapped || _is_blocking(s))
  3675. +           status = NotifyAddrChange(&handle, overlapped);
  3676. +       else
  3677. +           status = WSAEWOULDBLOCK;
  3678. +       overlapped = NULL; /* managed by NotifyAddrChange */
  3679.         break;
  3680. +   }
  3681.  
  3682.     case WS_SIO_ADDRESS_LIST_QUERY:
  3683.     {
  3684. diff -rupN wine-1.5.19/include/config.h.in wine-silverlight-1.5.19/include/config.h.in
  3685. --- wine-1.5.19/include/config.h.in     2012-12-07 11:17:32.000000000 -0800
  3686. +++ wine-silverlight-1.5.19/include/config.h.in 2012-12-20 18:16:39.672888950 -0800
  3687. @@ -34,6 +34,9 @@
  3688.  /* Define to 1 if you have the <asm/types.h> header file. */
  3689.  #undef HAVE_ASM_TYPES_H
  3690.  
  3691. +/* Define to 1 if you have the <attr/xattr.h> header file. */
  3692. +#undef HAVE_ATTR_XATTR_H
  3693. +
  3694.  /* Define to 1 if you have the <AudioToolbox/AudioConverter.h> header file. */
  3695.  #undef HAVE_AUDIOTOOLBOX_AUDIOCONVERTER_H
  3696.  
  3697. @@ -1337,11 +1340,6 @@
  3698.  /* Define to 1 if the X Window System is missing or not being used. */
  3699.  #undef X_DISPLAY_MISSING
  3700.  
  3701. -/* Enable large inode numbers on Mac OS X 10.5.  */
  3702. -#ifndef _DARWIN_USE_64_BIT_INODE
  3703. -# define _DARWIN_USE_64_BIT_INODE 1
  3704. -#endif
  3705. -
  3706.  /* Number of bits in a file offset, on hosts where this is settable. */
  3707.  #undef _FILE_OFFSET_BITS
  3708.  
  3709. diff -rupN wine-1.5.19/include/winuser.h wine-silverlight-1.5.19/include/winuser.h
  3710. --- wine-1.5.19/include/winuser.h       2012-12-07 11:17:32.000000000 -0800
  3711. +++ wine-silverlight-1.5.19/include/winuser.h   2012-12-20 18:16:39.629558484 -0800
  3712. @@ -2521,6 +2521,10 @@ typedef struct tagMINIMIZEDMETRICS {
  3713.  #define PM_QS_PAINT       (QS_PAINT << 16)
  3714.  #define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
  3715.  
  3716. +/* SetTimer() limits */
  3717. +#define USER_TIMER_MINIMUM 0x0000000A
  3718. +#define USER_TIMER_MAXIMUM 0x7FFFFFFF
  3719. +
  3720.  /* AnimateWindow() flags */
  3721.  #define AW_SLIDE        0x00040000
  3722.  #define AW_ACTIVATE     0x00020000
  3723. diff -rupN wine-1.5.19/libs/Makefile wine-silverlight-1.5.19/libs/Makefile
  3724. --- wine-1.5.19/libs/Makefile   1969-12-31 16:00:00.000000000 -0800
  3725. +++ wine-silverlight-1.5.19/libs/Makefile       2012-12-20 18:16:39.702886965 -0800
  3726. @@ -0,0 +1,353 @@
  3727. +TOPSRCDIR = ..
  3728. +TOPOBJDIR = ..
  3729. +SRCDIR    = .
  3730. +
  3731. +MODULE    = none
  3732. +
  3733. +SUBDIRS = \
  3734. +       port \
  3735. +       wine \
  3736. +       wpp
  3737. +
  3738. +INSTALLSUBDIRS = \
  3739. +       wine
  3740. +
  3741. +# Global rules shared by all makefiles     -*-Makefile-*-
  3742. +#
  3743. +# Each individual makefile must define the following variables:
  3744. +# TOPSRCDIR    : top-level source directory
  3745. +# TOPOBJDIR    : top-level object directory
  3746. +# SRCDIR       : source directory for this module
  3747. +# MODULE       : name of the module being built
  3748. +#
  3749. +# Each individual makefile may define the following additional variables:
  3750. +# C_SRCS       : C sources for the module
  3751. +# C_SRCS16     : 16-bit C sources for the module
  3752. +# RC_SRCS      : resource source files
  3753. +# EXTRA_SRCS   : extra source files for make depend
  3754. +# EXTRA_OBJS   : extra object files
  3755. +# IMPORTS      : dlls to import
  3756. +# DELAYIMPORTS : dlls to import in delayed mode
  3757. +# SUBDIRS      : subdirectories that contain a Makefile
  3758. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  3759. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  3760. +# MODCFLAGS    : extra CFLAGS for this module
  3761. +
  3762. +# First some useful definitions
  3763. +
  3764. +SHELL     = /bin/sh
  3765. +CC        = ccache gcc -m32
  3766. +CFLAGS    = -g -O2
  3767. +CPPFLAGS  =
  3768. +LIBS      =
  3769. +BISON     = bison
  3770. +FLEX      = flex
  3771. +EXEEXT    =
  3772. +OBJEXT    = o
  3773. +LIBEXT    = so
  3774. +DLLEXT    = .so
  3775. +TOOLSEXT  =
  3776. +IMPLIBEXT = def
  3777. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  3778. +DLLTOOL   = i586-mingw32msvc-dlltool
  3779. +DLLWRAP   =
  3780. +AR        = ar
  3781. +ARFLAGS   = rc
  3782. +RANLIB    = ranlib
  3783. +STRIP     = strip
  3784. +LN        = ln
  3785. +LN_S      = ln -s
  3786. +TOOLSDIR  = $(TOPOBJDIR)
  3787. +LDFLAGS   =
  3788. +PRELINK   = /usr/sbin/prelink
  3789. +RM        = rm -f
  3790. +MV        = mv
  3791. +LINT      =
  3792. +LINTFLAGS =
  3793. +FONTFORGE = fontforge
  3794. +RSVG      = false
  3795. +ICOTOOL   = icotool
  3796. +FAKEEXT   = $(DLLEXT:.so=.fake)
  3797. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  3798. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  3799. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  3800. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  3801. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  3802. +TARGETFLAGS  = -m32
  3803. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  3804. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  3805. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  3806. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  3807. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  3808. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  3809. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  3810. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  3811. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  3812. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  3813. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  3814. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  3815. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  3816. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  3817. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  3818. +RC           = $(WRC)
  3819. +RC16         = $(WRC)
  3820. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  3821. +RC16FLAGS    = -O res16 $(RCFLAGS)
  3822. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  3823. +DLLDIR       = $(TOPOBJDIR)/dlls
  3824. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  3825. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  3826. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  3827. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  3828. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  3829. +
  3830. +
  3831. +
  3832. +# Installation infos
  3833. +
  3834. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  3835. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  3836. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  3837. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  3838. +prefix          = /usr/local
  3839. +exec_prefix     = ${prefix}
  3840. +bindir          = ${exec_prefix}/bin
  3841. +libdir          = ${exec_prefix}/lib
  3842. +datarootdir     = ${prefix}/share
  3843. +datadir         = ${datarootdir}
  3844. +infodir         = ${datarootdir}/info
  3845. +mandir          = ${datarootdir}/man
  3846. +sysconfdir      = ${prefix}/etc
  3847. +includedir      = ${prefix}/include/wine
  3848. +dlldir          = ${exec_prefix}/lib/wine
  3849. +fakedlldir      = $(dlldir)/fakedlls
  3850. +prog_manext     = 1
  3851. +api_manext      = 3w
  3852. +conf_manext     = 5
  3853. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  3854. +
  3855. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  3856. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  3857. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  3858. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  3859. +
  3860. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  3861. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  3862. +
  3863. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  3864. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  3865. +
  3866. +LINTS  = $(C_SRCS:.c=.ln)
  3867. +
  3868. +# 'all' target first in case the enclosing Makefile didn't define any target
  3869. +
  3870. +all:
  3871. +
  3872. +filter: dummy
  3873. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  3874. +
  3875. +.PHONY: all filter
  3876. +
  3877. +# Implicit rules
  3878. +
  3879. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  3880. +
  3881. +.c.o:
  3882. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  3883. +
  3884. +.y.tab.c:
  3885. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  3886. +
  3887. +.y.tab.h:
  3888. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  3889. +
  3890. +.l.yy.c:
  3891. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  3892. +
  3893. +.mc.mc.rc:
  3894. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  3895. +
  3896. +.rc.res:
  3897. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  3898. +
  3899. +.spec.spec.o:
  3900. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  3901. +
  3902. +.idl.h:
  3903. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  3904. +
  3905. +.idl_c.c:
  3906. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  3907. +
  3908. +.idl_i.c:
  3909. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  3910. +
  3911. +.idl_p.c:
  3912. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  3913. +
  3914. +.idl_s.c:
  3915. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  3916. +
  3917. +.idl.tlb:
  3918. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  3919. +
  3920. +.c.ln:
  3921. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  3922. +
  3923. +.c.ok:
  3924. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  3925. +
  3926. +.sfd.ttf:
  3927. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  3928. +
  3929. +.man.in.man:
  3930. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  3931. +
  3932. +.svg.ico:
  3933. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  3934. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  3935. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  3936. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  3937. +       $(RM) $*-16.png $*-32.png $*-48.png
  3938. +
  3939. +# Rules for IDL files
  3940. +
  3941. +dlldata.c: $(WIDL) Makefile.in
  3942. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  3943. +
  3944. +# Rule for linting
  3945. +
  3946. +$(MODULE).ln : $(LINTS)
  3947. +       if test "$(LINTS)" ; \
  3948. +       then \
  3949. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  3950. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  3951. +       else \
  3952. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  3953. +       fi
  3954. +
  3955. +lint:: $(MODULE).ln
  3956. +
  3957. +# Rules for Windows API checking
  3958. +
  3959. +winapi_check:: dummy
  3960. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  3961. +
  3962. +.PHONY: winapi_check
  3963. +
  3964. +# Rules for dependencies
  3965. +
  3966. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  3967. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  3968. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  3969. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  3970. +
  3971. +$(SUBDIRS:%=%/__depend__): dummy
  3972. +       @cd `dirname $@` && $(MAKE) depend
  3973. +
  3974. +depend: $(SUBDIRS:%=%/__depend__) dummy
  3975. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  3976. +
  3977. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  3978. +
  3979. +# Rules for cleaning
  3980. +
  3981. +$(SUBDIRS:%=%/__clean__): dummy
  3982. +       @cd `dirname $@` && $(MAKE) clean
  3983. +
  3984. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  3985. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  3986. +
  3987. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  3988. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  3989. +
  3990. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  3991. +
  3992. +# Rules for installing
  3993. +
  3994. +$(SUBDIRS:%=%/__install__): dummy
  3995. +       @cd `dirname $@` && $(MAKE) install
  3996. +
  3997. +$(SUBDIRS:%=%/__install-lib__): dummy
  3998. +       @cd `dirname $@` && $(MAKE) install-lib
  3999. +
  4000. +$(SUBDIRS:%=%/__install-dev__): dummy
  4001. +       @cd `dirname $@` && $(MAKE) install-dev
  4002. +
  4003. +$(SUBDIRS:%=%/__uninstall__): dummy
  4004. +       @cd `dirname $@` && $(MAKE) uninstall
  4005. +
  4006. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  4007. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  4008. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  4009. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  4010. +
  4011. +$(INSTALLDIRS):
  4012. +       $(MKINSTALLDIRS) $@
  4013. +
  4014. +.PHONY: install install-lib install-dev uninstall \
  4015. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  4016. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  4017. +
  4018. +# Rules for testing
  4019. +
  4020. +$(TESTSUBDIRS:%=%/__test__): dummy
  4021. +       @cd `dirname $@` && $(MAKE) test
  4022. +
  4023. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  4024. +       @cd `dirname $@` && $(MAKE) crosstest
  4025. +
  4026. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  4027. +       @cd `dirname $@` && $(MAKE) testclean
  4028. +
  4029. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  4030. +
  4031. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  4032. +
  4033. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  4034. +
  4035. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  4036. +
  4037. +# Rules for auto documentation
  4038. +
  4039. +$(DOCSUBDIRS:%=%/__man__): dummy
  4040. +       @cd `dirname $@` && $(MAKE) man
  4041. +
  4042. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  4043. +       @cd `dirname $@` && $(MAKE) doc-html
  4044. +
  4045. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  4046. +       @cd `dirname $@` && $(MAKE) doc-sgml
  4047. +
  4048. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  4049. +       @cd `dirname $@` && $(MAKE) doc-xml
  4050. +
  4051. +man: $(DOCSUBDIRS:%=%/__man__)
  4052. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  4053. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  4054. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  4055. +
  4056. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  4057. +
  4058. +# Misc. rules
  4059. +
  4060. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  4061. +
  4062. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  4063. +
  4064. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  4065. +
  4066. +$(SUBDIRS): dummy
  4067. +       @cd $@ && $(MAKE)
  4068. +
  4069. +dummy:
  4070. +
  4071. +.PHONY: dummy $(SUBDIRS)
  4072. +
  4073. +# End of global rules
  4074. +
  4075. +all: $(SUBDIRS)
  4076. +
  4077. +# Directory dependencies
  4078. +
  4079. +wine wine/__install__ wine/__install-lib__: port
  4080. diff -rupN wine-1.5.19/programs/Makefile wine-silverlight-1.5.19/programs/Makefile
  4081. --- wine-1.5.19/programs/Makefile       1969-12-31 16:00:00.000000000 -0800
  4082. +++ wine-silverlight-1.5.19/programs/Makefile   2012-12-20 18:16:39.776215447 -0800
  4083. @@ -0,0 +1,492 @@
  4084. +TOPSRCDIR = ..
  4085. +TOPOBJDIR = ..
  4086. +SRCDIR    = .
  4087. +
  4088. +
  4089. +SUBDIRS        =  \
  4090. +       cacls \
  4091. +       clock \
  4092. +       cmd \
  4093. +       cmdlgtst \
  4094. +       control \
  4095. +       dxdiag \
  4096. +       eject \
  4097. +       expand \
  4098. +       explorer \
  4099. +       extrac32 \
  4100. +       hh \
  4101. +       icinfo \
  4102. +       iexplore \
  4103. +       lodctr \
  4104. +       mshta \
  4105. +       msiexec \
  4106. +       net \
  4107. +       notepad \
  4108. +       oleview \
  4109. +       progman \
  4110. +       reg \
  4111. +       regedit \
  4112. +       regsvr32 \
  4113. +       rpcss \
  4114. +       rundll32 \
  4115. +       secedit \
  4116. +       services \
  4117. +       spoolsv \
  4118. +       start \
  4119. +       svchost \
  4120. +       taskmgr \
  4121. +       termsv \
  4122. +       uninstaller \
  4123. +       unlodctr \
  4124. +       view \
  4125. +       wineboot \
  4126. +       winebrowser \
  4127. +       winecfg \
  4128. +       wineconsole \
  4129. +       winedbg \
  4130. +       winedevice \
  4131. +       winefile \
  4132. +       winemenubuilder \
  4133. +       winemine \
  4134. +       winepath \
  4135. +       winetest \
  4136. +       winevdm \
  4137. +       winhelp.exe16 \
  4138. +       winhlp32 \
  4139. +       winoldap.mod16 \
  4140. +       winver \
  4141. +       wordpad \
  4142. +       write \
  4143. +       xcopy
  4144. +INSTALLSUBDIRS =  \
  4145. +       cacls \
  4146. +       clock \
  4147. +       cmd \
  4148. +       control \
  4149. +       dxdiag \
  4150. +       eject \
  4151. +       expand \
  4152. +       explorer \
  4153. +       extrac32 \
  4154. +       hh \
  4155. +       icinfo \
  4156. +       iexplore \
  4157. +       lodctr \
  4158. +       mshta \
  4159. +       msiexec \
  4160. +       net \
  4161. +       notepad \
  4162. +       oleview \
  4163. +       progman \
  4164. +       reg \
  4165. +       regedit \
  4166. +       regsvr32 \
  4167. +       rpcss \
  4168. +       rundll32 \
  4169. +       secedit \
  4170. +       services \
  4171. +       spoolsv \
  4172. +       start \
  4173. +       svchost \
  4174. +       taskmgr \
  4175. +       termsv \
  4176. +       uninstaller \
  4177. +       unlodctr \
  4178. +       wineboot \
  4179. +       winebrowser \
  4180. +       winecfg \
  4181. +       wineconsole \
  4182. +       winedbg \
  4183. +       winedevice \
  4184. +       winefile \
  4185. +       winemenubuilder \
  4186. +       winemine \
  4187. +       winepath \
  4188. +       winevdm \
  4189. +       winhelp.exe16 \
  4190. +       winhlp32 \
  4191. +       winoldap.mod16 \
  4192. +       winver \
  4193. +       wordpad \
  4194. +       write \
  4195. +       xcopy
  4196. +INSTALLPROGS   =  \
  4197. +       msiexec \
  4198. +       notepad \
  4199. +       regedit \
  4200. +       regsvr32 \
  4201. +       wineboot \
  4202. +       winecfg \
  4203. +       wineconsole \
  4204. +       winedbg \
  4205. +       winefile \
  4206. +       winemine \
  4207. +       winepath
  4208. +
  4209. +INSTALLDIRS = $(DESTDIR)$(bindir)
  4210. +
  4211. +PROGRAMS = wineapploader
  4212. +
  4213. +# Global rules shared by all makefiles     -*-Makefile-*-
  4214. +#
  4215. +# Each individual makefile must define the following variables:
  4216. +# TOPSRCDIR    : top-level source directory
  4217. +# TOPOBJDIR    : top-level object directory
  4218. +# SRCDIR       : source directory for this module
  4219. +# MODULE       : name of the module being built
  4220. +#
  4221. +# Each individual makefile may define the following additional variables:
  4222. +# C_SRCS       : C sources for the module
  4223. +# C_SRCS16     : 16-bit C sources for the module
  4224. +# RC_SRCS      : resource source files
  4225. +# EXTRA_SRCS   : extra source files for make depend
  4226. +# EXTRA_OBJS   : extra object files
  4227. +# IMPORTS      : dlls to import
  4228. +# DELAYIMPORTS : dlls to import in delayed mode
  4229. +# SUBDIRS      : subdirectories that contain a Makefile
  4230. +# EXTRASUBDIRS : subdirectories that do not contain a Makefile
  4231. +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
  4232. +# MODCFLAGS    : extra CFLAGS for this module
  4233. +
  4234. +# First some useful definitions
  4235. +
  4236. +SHELL     = /bin/sh
  4237. +CC        = ccache gcc -m32
  4238. +CFLAGS    = -g -O2
  4239. +CPPFLAGS  =
  4240. +LIBS      =
  4241. +BISON     = bison
  4242. +FLEX      = flex
  4243. +EXEEXT    =
  4244. +OBJEXT    = o
  4245. +LIBEXT    = so
  4246. +DLLEXT    = .so
  4247. +TOOLSEXT  =
  4248. +IMPLIBEXT = def
  4249. +LDSHARED  = $(CC) -shared $(SONAME:%=-Wl,-soname,%) $(VERSCRIPT:%=-Wl,--version-script=%)
  4250. +DLLTOOL   = i586-mingw32msvc-dlltool
  4251. +DLLWRAP   =
  4252. +AR        = ar
  4253. +ARFLAGS   = rc
  4254. +RANLIB    = ranlib
  4255. +STRIP     = strip
  4256. +LN        = ln
  4257. +LN_S      = ln -s
  4258. +TOOLSDIR  = $(TOPOBJDIR)
  4259. +LDFLAGS   =
  4260. +PRELINK   = /usr/sbin/prelink
  4261. +RM        = rm -f
  4262. +MV        = mv
  4263. +LINT      =
  4264. +LINTFLAGS =
  4265. +FONTFORGE = fontforge
  4266. +RSVG      = false
  4267. +ICOTOOL   = icotool
  4268. +FAKEEXT   = $(DLLEXT:.so=.fake)
  4269. +INCLUDES     = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL)
  4270. +EXTRACFLAGS  = -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wwrite-strings -Wtype-limits -Wpointer-arith
  4271. +ALLCFLAGS    = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
  4272. +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
  4273. +IDLFLAGS     = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
  4274. +TARGETFLAGS  = -m32
  4275. +WINEBUILDFLAGS = $(TARGETFLAGS) $(DLLFLAGS)
  4276. +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755
  4277. +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi/winapi_check
  4278. +WINEWRAPPER  = $(TOPSRCDIR)/tools/winewrapper
  4279. +C2MAN        = $(TOPSRCDIR)/tools/c2man.pl
  4280. +RUNTEST      = $(TOPSRCDIR)/tools/runtest
  4281. +WINEBUILD    = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
  4282. +MAKEDEP      = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
  4283. +MAKECTESTS   = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
  4284. +WRC          = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
  4285. +WMC          = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
  4286. +WIDL         = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
  4287. +WINEGCC      = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(TOPOBJDIR)
  4288. +RELPATH      = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
  4289. +SFNT2FNT     = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
  4290. +RC           = $(WRC)
  4291. +RC16         = $(WRC)
  4292. +RCFLAGS      = --nostdinc $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)
  4293. +RC16FLAGS    = -O res16 $(RCFLAGS)
  4294. +LDPATH       = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
  4295. +DLLDIR       = $(TOPOBJDIR)/dlls
  4296. +LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
  4297. +LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
  4298. +LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
  4299. +LDRPATH_INSTALL = -Wl,--rpath,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)` -Wl,--enable-new-dtags
  4300. +LDRPATH_LOCAL   = -Wl,--rpath,\$$ORIGIN/$(TOPOBJDIR)/libs/wine
  4301. +
  4302. +
  4303. +
  4304. +# Installation infos
  4305. +
  4306. +INSTALL         = /usr/bin/install -c $(INSTALL_FLAGS)
  4307. +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
  4308. +INSTALL_SCRIPT  = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
  4309. +INSTALL_DATA    = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
  4310. +prefix          = /usr/local
  4311. +exec_prefix     = ${prefix}
  4312. +bindir          = ${exec_prefix}/bin
  4313. +libdir          = ${exec_prefix}/lib
  4314. +datarootdir     = ${prefix}/share
  4315. +datadir         = ${datarootdir}
  4316. +infodir         = ${datarootdir}/info
  4317. +mandir          = ${datarootdir}/man
  4318. +sysconfdir      = ${prefix}/etc
  4319. +includedir      = ${prefix}/include/wine
  4320. +dlldir          = ${exec_prefix}/lib/wine
  4321. +fakedlldir      = $(dlldir)/fakedlls
  4322. +prog_manext     = 1
  4323. +api_manext      = 3w
  4324. +conf_manext     = 5
  4325. +CLEAN_FILES     = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
  4326. +
  4327. +IDL_GEN_C_SRCS  = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
  4328. +                  $(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
  4329. +IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
  4330. +                  $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
  4331. +
  4332. +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
  4333. +                $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
  4334. +
  4335. +OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
  4336. +       $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
  4337. +
  4338. +LINTS  = $(C_SRCS:.c=.ln)
  4339. +
  4340. +# 'all' target first in case the enclosing Makefile didn't define any target
  4341. +
  4342. +all:
  4343. +
  4344. +filter: dummy
  4345. +       @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
  4346. +
  4347. +.PHONY: all filter
  4348. +
  4349. +# Implicit rules
  4350. +
  4351. +.SUFFIXES: .mc .rc .mc.rc .res .spec .spec.o .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man _c.c _i.c _p.c _s.c # .sfd .ttf .svg .ico
  4352. +
  4353. +.c.o:
  4354. +       $(CC) -c $(ALLCFLAGS) -o $@ $<
  4355. +
  4356. +.y.tab.c:
  4357. +       $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<
  4358. +
  4359. +.y.tab.h:
  4360. +       $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<
  4361. +
  4362. +.l.yy.c:
  4363. +       $(FLEX) $(LEXFLAGS) -o$@ $<
  4364. +
  4365. +.mc.mc.rc:
  4366. +       $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $<
  4367. +
  4368. +.rc.res:
  4369. +       $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $<
  4370. +
  4371. +.spec.spec.o:
  4372. +       $(WINEBUILD) $(WINEBUILDFLAGS) --dll -o $@ --main-module $(MODULE) --export $<
  4373. +
  4374. +.idl.h:
  4375. +       $(WIDL) $(IDLFLAGS) -h -H $@ $<
  4376. +
  4377. +.idl_c.c:
  4378. +       $(WIDL) $(IDLFLAGS) -c -C $@ $<
  4379. +
  4380. +.idl_i.c:
  4381. +       $(WIDL) $(IDLFLAGS) -u -U $@ $<
  4382. +
  4383. +.idl_p.c:
  4384. +       $(WIDL) $(IDLFLAGS) -p -P $@ $<
  4385. +
  4386. +.idl_s.c:
  4387. +       $(WIDL) $(IDLFLAGS) -s -S $@ $<
  4388. +
  4389. +.idl.tlb:
  4390. +       $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -T $@ $<
  4391. +
  4392. +.c.ln:
  4393. +       $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )
  4394. +
  4395. +.c.ok:
  4396. +       $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
  4397. +
  4398. +.sfd.ttf:
  4399. +       $(FONTFORGE) -script $(TOPSRCDIR)/fonts/genttf.ff $< $@
  4400. +
  4401. +.man.in.man:
  4402. +       LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.1.35,g' $< >$@ || ($(RM) $@ && false)
  4403. +
  4404. +.svg.ico:
  4405. +       $(RSVG) -w 16 -h 16 -f png $< $*-16.png
  4406. +       $(RSVG) -w 32 -h 32 -f png $< $*-32.png
  4407. +       $(RSVG) -w 48 -h 48 -f png $< $*-48.png
  4408. +       $(ICOTOOL) -c -o $@ $*-16.png $*-32.png $*-48.png
  4409. +       $(RM) $*-16.png $*-32.png $*-48.png
  4410. +
  4411. +# Rules for IDL files
  4412. +
  4413. +dlldata.c: $(WIDL) Makefile.in
  4414. +       $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS)
  4415. +
  4416. +# Rule for linting
  4417. +
  4418. +$(MODULE).ln : $(LINTS)
  4419. +       if test "$(LINTS)" ; \
  4420. +       then \
  4421. +               $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
  4422. +               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
  4423. +       else \
  4424. +               $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
  4425. +       fi
  4426. +
  4427. +lint:: $(MODULE).ln
  4428. +
  4429. +# Rules for Windows API checking
  4430. +
  4431. +winapi_check:: dummy
  4432. +       $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
  4433. +
  4434. +.PHONY: winapi_check
  4435. +
  4436. +# Rules for dependencies
  4437. +
  4438. +DEPEND_SRCS = $(C_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) \
  4439. +              $(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
  4440. +              $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
  4441. +              $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
  4442. +
  4443. +$(SUBDIRS:%=%/__depend__): dummy
  4444. +       @cd `dirname $@` && $(MAKE) depend
  4445. +
  4446. +depend: $(SUBDIRS:%=%/__depend__) dummy
  4447. +       $(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
  4448. +
  4449. +.PHONY: depend $(SUBDIRS:%=%/__depend__)
  4450. +
  4451. +# Rules for cleaning
  4452. +
  4453. +$(SUBDIRS:%=%/__clean__): dummy
  4454. +       @cd `dirname $@` && $(MAKE) clean
  4455. +
  4456. +$(EXTRASUBDIRS:%=%/__clean__): dummy
  4457. +       -cd `dirname $@` && $(RM) $(CLEAN_FILES)
  4458. +
  4459. +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  4460. +       $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
  4461. +
  4462. +.PHONY: clean $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
  4463. +
  4464. +# Rules for installing
  4465. +
  4466. +$(SUBDIRS:%=%/__install__): dummy
  4467. +       @cd `dirname $@` && $(MAKE) install
  4468. +
  4469. +$(SUBDIRS:%=%/__install-lib__): dummy
  4470. +       @cd `dirname $@` && $(MAKE) install-lib
  4471. +
  4472. +$(SUBDIRS:%=%/__install-dev__): dummy
  4473. +       @cd `dirname $@` && $(MAKE) install-dev
  4474. +
  4475. +$(SUBDIRS:%=%/__uninstall__): dummy
  4476. +       @cd `dirname $@` && $(MAKE) uninstall
  4477. +
  4478. +install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
  4479. +install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
  4480. +install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
  4481. +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
  4482. +
  4483. +$(INSTALLDIRS):
  4484. +       $(MKINSTALLDIRS) $@
  4485. +
  4486. +.PHONY: install install-lib install-dev uninstall \
  4487. +       $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
  4488. +       $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
  4489. +
  4490. +# Rules for testing
  4491. +
  4492. +$(TESTSUBDIRS:%=%/__test__): dummy
  4493. +       @cd `dirname $@` && $(MAKE) test
  4494. +
  4495. +$(TESTSUBDIRS:%=%/__crosstest__): dummy
  4496. +       @cd `dirname $@` && $(MAKE) crosstest
  4497. +
  4498. +$(TESTSUBDIRS:%=%/__testclean__): dummy
  4499. +       @cd `dirname $@` && $(MAKE) testclean
  4500. +
  4501. +check test:: $(TESTSUBDIRS:%=%/__test__) dummy
  4502. +
  4503. +crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
  4504. +
  4505. +testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
  4506. +
  4507. +.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
  4508. +
  4509. +# Rules for auto documentation
  4510. +
  4511. +$(DOCSUBDIRS:%=%/__man__): dummy
  4512. +       @cd `dirname $@` && $(MAKE) man
  4513. +
  4514. +$(DOCSUBDIRS:%=%/__doc_html__): dummy
  4515. +       @cd `dirname $@` && $(MAKE) doc-html
  4516. +
  4517. +$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
  4518. +       @cd `dirname $@` && $(MAKE) doc-sgml
  4519. +
  4520. +$(DOCSUBDIRS:%=%/__doc_xml__): dummy
  4521. +       @cd `dirname $@` && $(MAKE) doc-xml
  4522. +
  4523. +man: $(DOCSUBDIRS:%=%/__man__)
  4524. +doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
  4525. +doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
  4526. +doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
  4527. +
  4528. +.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
  4529. +
  4530. +# Misc. rules
  4531. +
  4532. +$(MC_SRCS:.mc=.mc.rc): $(WMC)
  4533. +
  4534. +$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
  4535. +
  4536. +$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(RC_SRCS16:.rc=.res): $(WRC)
  4537. +
  4538. +$(SUBDIRS): dummy
  4539. +       @cd $@ && $(MAKE)
  4540. +
  4541. +dummy:
  4542. +
  4543. +.PHONY: dummy $(SUBDIRS)
  4544. +
  4545. +# End of global rules
  4546. +
  4547. +all: $(PROGRAMS) $(SUBDIRS)
  4548. +
  4549. +wineapploader: wineapploader.in
  4550. +       sed -e 's,@bindir\@,$(bindir),g' $(SRCDIR)/wineapploader.in >$@ || ($(RM) $@ && false)
  4551. +
  4552. +# Rules for installation
  4553. +
  4554. +.PHONY: install-apploader install-progs install-progs.so $(INSTALLPROGS:%=%/__installprog__)
  4555. +
  4556. +install-apploader: wineapploader $(INSTALLDIRS) dummy
  4557. +       $(INSTALL_SCRIPT) wineapploader $(DESTDIR)$(bindir)/wineapploader
  4558. +
  4559. +$(INSTALLPROGS:%=%/__installprog__): install-apploader
  4560. +       $(RM) $(DESTDIR)$(bindir)/`dirname $@` && $(LN) $(DESTDIR)$(bindir)/wineapploader $(DESTDIR)$(bindir)/`dirname $@`
  4561. +
  4562. +install-progs.so: $(INSTALLPROGS:%=%/__installprog__)
  4563. +       $(RM) $(DESTDIR)$(bindir)/wineapploader
  4564. +
  4565. +install-progs: # nothing to do here
  4566. +
  4567. + install install-lib:: install-progs$(DLLEXT) $(INSTALLDIRS)
  4568. +
  4569. +uninstall::
  4570. +       -cd $(DESTDIR)$(bindir) && $(RM) wineapploader $(INSTALLPROGS)
  4571. +       -rmdir $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)
  4572. +
  4573. +# Rules for testing
  4574. +
  4575. +check test:: $(SUBDIRS:%=%/__test__)
  4576. diff -rupN wine-1.5.19/server/change.c wine-silverlight-1.5.19/server/change.c
  4577. --- wine-1.5.19/server/change.c 2012-12-07 11:17:32.000000000 -0800
  4578. +++ wine-silverlight-1.5.19/server/change.c     2012-12-20 18:16:39.786214785 -0800
  4579. @@ -286,6 +286,7 @@ static int get_dir_unix_fd( struct dir *
  4580.  static struct security_descriptor *dir_get_sd( struct object *obj )
  4581.  {
  4582.      struct dir *dir = (struct dir *)obj;
  4583. +    const SID *user, *group;
  4584.      int unix_fd;
  4585.      struct stat st;
  4586.      struct security_descriptor *sd;
  4587. @@ -302,9 +303,11 @@ static struct security_descriptor *dir_g
  4588.          (st.st_uid == dir->uid))
  4589.          return obj->sd;
  4590.  
  4591. -    sd = mode_to_sd( st.st_mode,
  4592. -                     security_unix_uid_to_sid( st.st_uid ),
  4593. -                     token_get_primary_group( current->process->token ));
  4594. +    user = security_unix_uid_to_sid( st.st_uid );
  4595. +    group = token_get_primary_group( current->process->token );
  4596. +    sd = get_file_acls( unix_fd, user, group );
  4597. +    if (!sd)
  4598. +        sd = mode_to_sd( st.st_mode, user, group );
  4599.      if (!sd) return obj->sd;
  4600.  
  4601.      dir->mode = st.st_mode;
  4602. @@ -353,6 +356,8 @@ static int dir_set_sd( struct object *ob
  4603.          mode = st.st_mode & (S_ISUID|S_ISGID|S_ISVTX);
  4604.          mode |= sd_to_mode( sd, owner );
  4605.  
  4606. +        set_file_acls( unix_fd, sd );
  4607. +
  4608.          if (((st.st_mode ^ mode) & (S_IRWXU|S_IRWXG|S_IRWXO)) && fchmod( unix_fd, mode ) == -1)
  4609.          {
  4610.              file_set_error();
  4611. diff -rupN wine-1.5.19/server/fd.c wine-silverlight-1.5.19/server/fd.c
  4612. --- wine-1.5.19/server/fd.c     2012-12-07 11:17:32.000000000 -0800
  4613. +++ wine-silverlight-1.5.19/server/fd.c 2012-12-20 18:16:39.786214785 -0800
  4614. @@ -88,6 +88,9 @@
  4615.  #include <sys/time.h>
  4616.  #include <sys/types.h>
  4617.  #include <unistd.h>
  4618. +#ifdef HAVE_ATTR_XATTR_H
  4619. +#include <attr/xattr.h>
  4620. +#endif
  4621.  
  4622.  #include "ntstatus.h"
  4623.  #define WIN32_NO_STATUS
  4624. @@ -96,6 +99,7 @@
  4625.  #include "handle.h"
  4626.  #include "process.h"
  4627.  #include "request.h"
  4628. +#include "security.h"
  4629.  
  4630.  #include "winternl.h"
  4631.  #include "winioctl.h"
  4632. @@ -1723,9 +1727,69 @@ static char *dup_fd_name( struct fd *roo
  4633.      return ret;
  4634.  }
  4635.  
  4636. +void set_file_acls( int fd, const struct security_descriptor *sd )
  4637. +{
  4638. +#ifdef HAVE_ATTR_XATTR_H
  4639. +    char buffer[XATTR_SIZE_MAX], *p = buffer;
  4640. +    const ACE_HEADER *ace;
  4641. +    int present, i, j, n;
  4642. +    const ACL *dacl;
  4643. +
  4644. +    if (!sd) return;
  4645. +    dacl = sd_get_dacl( sd, &present );
  4646. +    if (!present || !dacl) return;
  4647. +    ace = (const ACE_HEADER *)(dacl + 1);
  4648. +
  4649. +    for (i = 0; i < dacl->AceCount; i++, ace = ace_next( ace ))
  4650. +    {
  4651. +        BYTE type = ace->AceType, flags;
  4652. +        const ACCESS_ALLOWED_ACE *aaa;
  4653. +        const ACCESS_DENIED_ACE *ada;
  4654. +        char sidtxt[100], *s;
  4655. +        const SID *sid;
  4656. +        DWORD mask;
  4657. +
  4658. +        if (type & INHERIT_ONLY_ACE) continue;
  4659. +
  4660. +        switch (type)
  4661. +        {
  4662. +            case ACCESS_DENIED_ACE_TYPE:
  4663. +                ada   = (const ACCESS_DENIED_ACE *)ace;
  4664. +                flags = ada->Header.AceFlags;
  4665. +                mask  = ada->Mask;
  4666. +                sid   = (const SID *)&ada->SidStart;
  4667. +                break;
  4668. +            case ACCESS_ALLOWED_ACE_TYPE:
  4669. +                aaa   = (const ACCESS_ALLOWED_ACE *)ace;
  4670. +                flags = aaa->Header.AceFlags;
  4671. +                mask  = aaa->Mask;
  4672. +                sid   = (const SID *)&aaa->SidStart;
  4673. +                break;
  4674. +            default:
  4675. +                continue;
  4676. +        }
  4677. +        n = sprintf( sidtxt,  "S-%u-%d", sid->Revision,
  4678. +            MAKELONG(
  4679. +                MAKEWORD( sid->IdentifierAuthority.Value[5],
  4680. +                          sid->IdentifierAuthority.Value[4] ),
  4681. +                MAKEWORD( sid->IdentifierAuthority.Value[3],
  4682. +                          sid->IdentifierAuthority.Value[2] )
  4683. +            ) );
  4684. +        s = sidtxt + n;
  4685. +        for( j=0; j<sid->SubAuthorityCount; j++ )
  4686. +            s += sprintf( s, "-%u", sid->SubAuthority[j] );
  4687. +
  4688. +        p += snprintf( p, XATTR_SIZE_MAX-(p-buffer), "%s%x,%x,%x,%s",
  4689. +                      (p != buffer ? ";" : ""), type, flags, mask, sidtxt );
  4690. +    }
  4691. +
  4692. +    fsetxattr( fd, "user.wine.acl", buffer, p-buffer, 0 );
  4693. +#endif
  4694. +}
  4695. +
  4696.  /* open() wrapper that returns a struct fd with no fd user set */
  4697.  struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode, unsigned int access,
  4698. -                    unsigned int sharing, unsigned int options )
  4699. +                    unsigned int sharing, unsigned int options, const struct security_descriptor *sd )
  4700.  {
  4701.      struct stat st;
  4702.      struct closed_fd *closed_fd;
  4703. @@ -1765,7 +1829,7 @@ struct fd *open_fd( struct fd *root, con
  4704.      /* create the directory if needed */
  4705.      if ((options & FILE_DIRECTORY_FILE) && (flags & O_CREAT))
  4706.      {
  4707. -        if (mkdir( name, 0777 ) == -1)
  4708. +        if (mkdir( name, *mode ) == -1)
  4709.          {
  4710.              if (errno != EEXIST || (flags & O_EXCL))
  4711.              {
  4712. @@ -1801,6 +1865,8 @@ struct fd *open_fd( struct fd *root, con
  4713.          }
  4714.      }
  4715.  
  4716. +    set_file_acls( fd->unix_fd, sd );
  4717. +
  4718.      closed_fd->unix_fd = fd->unix_fd;
  4719.      closed_fd->unlink[0] = 0;
  4720.      fstat( fd->unix_fd, &st );
  4721. diff -rupN wine-1.5.19/server/file.c wine-silverlight-1.5.19/server/file.c
  4722. --- wine-1.5.19/server/file.c   2012-12-07 11:17:32.000000000 -0800
  4723. +++ wine-silverlight-1.5.19/server/file.c       2012-12-20 18:16:39.786214785 -0800
  4724. @@ -32,6 +32,7 @@
  4725.  #include <sys/time.h>
  4726.  #include <sys/types.h>
  4727.  #include <time.h>
  4728. +#include <limits.h>
  4729.  #include <unistd.h>
  4730.  #ifdef HAVE_UTIME_H
  4731.  #include <utime.h>
  4732. @@ -39,6 +40,9 @@
  4733.  #ifdef HAVE_POLL_H
  4734.  #include <poll.h>
  4735.  #endif
  4736. +#ifdef HAVE_ATTR_XATTR_H
  4737. +#include <attr/xattr.h>
  4738. +#endif
  4739.  
  4740.  #include "ntstatus.h"
  4741.  #define WIN32_NO_STATUS
  4742. @@ -219,7 +223,12 @@ static struct object *create_file( struc
  4743.          mode = sd_to_mode( sd, owner );
  4744.      }
  4745.      else
  4746. -        mode = (attrs & FILE_ATTRIBUTE_READONLY) ? 0444 : 0666;
  4747. +    {
  4748. +        if (options & FILE_NON_DIRECTORY_FILE)
  4749. +            mode = (attrs & FILE_ATTRIBUTE_READONLY) ? 0444 : 0666;
  4750. +        else
  4751. +            mode = (attrs & FILE_ATTRIBUTE_READONLY) ? 0555 : 0777;
  4752. +    }
  4753.  
  4754.      if (len >= 4 &&
  4755.          (!strcasecmp( name + len - 4, ".exe" ) || !strcasecmp( name + len - 4, ".com" )))
  4756. @@ -235,7 +244,7 @@ static struct object *create_file( struc
  4757.      access = generic_file_map_access( access );
  4758.  
  4759.      /* FIXME: should set error to STATUS_OBJECT_NAME_COLLISION if file existed before */
  4760. -    fd = open_fd( root, name, flags | O_NONBLOCK | O_LARGEFILE, &mode, access, sharing, options );
  4761. +    fd = open_fd( root, name, flags | O_NONBLOCK | O_LARGEFILE, &mode, access, sharing, options, sd );
  4762.      if (!fd) goto done;
  4763.  
  4764.      if (S_ISDIR(mode))
  4765. @@ -430,9 +439,169 @@ struct security_descriptor *mode_to_sd(
  4766.      return sd;
  4767.  }
  4768.  
  4769. +struct security_descriptor *get_file_acls( int fd, const SID *user, const SID *group )
  4770. +{
  4771. +#ifdef HAVE_ATTR_XATTR_H
  4772. +    int ace_count = 0, dacl_size = sizeof(ACL), i, n;
  4773. +    char buffer[XATTR_SIZE_MAX], *p = buffer, *pn;
  4774. +    struct security_descriptor *sd;
  4775. +    ACE_HEADER *current_ace;
  4776. +    ACCESS_ALLOWED_ACE *aaa;
  4777. +    ACCESS_DENIED_ACE *ada;
  4778. +    int type, flags, mask;
  4779. +    ACL *dacl;
  4780. +    char *ptr;
  4781. +
  4782. +    n = fgetxattr( fd, "user.wine.acl", buffer, sizeof(buffer) );
  4783. +    if (n == -1) return NULL;
  4784. +    buffer[n] = 0;
  4785. +
  4786. +    do
  4787. +    {
  4788. +        int sub_authority_count = 0;
  4789. +
  4790. +        pn = strchr(p, ';');
  4791. +        if (pn) pn++;
  4792. +        sscanf(p, "%x", &type);
  4793. +        do
  4794. +        {
  4795. +            p = strchr(p, '-');
  4796. +            if (p) p++;
  4797. +            sub_authority_count++;
  4798. +        }
  4799. +        while(p && (!pn || p < pn));
  4800. +        sub_authority_count -= 3; /* Revision and IdentifierAuthority don't count */
  4801. +
  4802. +        switch (type)
  4803. +        {
  4804. +            case ACCESS_DENIED_ACE_TYPE:
  4805. +                dacl_size += FIELD_OFFSET(ACCESS_DENIED_ACE, SidStart) +
  4806. +                             FIELD_OFFSET(SID, SubAuthority[sub_authority_count]);
  4807. +                break;
  4808. +            case ACCESS_ALLOWED_ACE_TYPE:
  4809. +                dacl_size += FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart) +
  4810. +                             FIELD_OFFSET(SID, SubAuthority[sub_authority_count]);
  4811. +                break;
  4812. +            default:
  4813. +                continue;
  4814. +        }
  4815. +        ace_count++;
  4816. +        p = pn;
  4817. +    }
  4818. +    while(p);
  4819. +
  4820. +    sd = mem_alloc( sizeof(struct security_descriptor) +
  4821. +                    FIELD_OFFSET(SID, SubAuthority[user->SubAuthorityCount]) +
  4822. +                    FIELD_OFFSET(SID, SubAuthority[group->SubAuthorityCount]) +
  4823. +                    dacl_size );
  4824. +
  4825. +    sd->control = SE_DACL_PRESENT;
  4826. +    sd->owner_len = FIELD_OFFSET(SID, SubAuthority[user->SubAuthorityCount]);
  4827. +    sd->group_len = FIELD_OFFSET(SID, SubAuthority[group->SubAuthorityCount]);
  4828. +    sd->sacl_len = 0;
  4829. +    sd->dacl_len = dacl_size;
  4830. +
  4831. +    ptr = (char *)(sd + 1);
  4832. +    memcpy( ptr, user, sd->owner_len );
  4833. +    ptr += sd->owner_len;
  4834. +    memcpy( ptr, group, sd->group_len );
  4835. +    ptr += sd->group_len;
  4836. +
  4837. +    dacl = (ACL *)ptr;
  4838. +    dacl->AclRevision = ACL_REVISION;
  4839. +    dacl->Sbz1 = 0;
  4840. +    dacl->AclSize = dacl_size;
  4841. +    dacl->AceCount = ace_count;
  4842. +    dacl->Sbz2 = 0;
  4843. +    aaa = (ACCESS_ALLOWED_ACE *)(dacl + 1);
  4844. +    current_ace = &aaa->Header;
  4845. +
  4846. +    p = buffer;
  4847. +    for(i=0; i<ace_count; i++)
  4848. +    {
  4849. +        char b[sizeof(SID) + sizeof(ULONG) * SID_MAX_SUB_AUTHORITIES];
  4850. +        int sub_authority_count = 0;
  4851. +        SID *sid = (SID *)&b[0];
  4852. +        char sidtxt[100];
  4853. +        int rev, ia, sa;
  4854. +
  4855. +        if (i != 0)
  4856. +        {
  4857. +            aaa = (ACCESS_ALLOWED_ACE *)ace_next( current_ace );
  4858. +            current_ace = &aaa->Header;
  4859. +        }
  4860. +        pn = strchr(p, ';');
  4861. +        if (pn) pn++;
  4862. +        sscanf(p, "%x,%x,%x,%[^;]", &type, &flags, &mask, sidtxt);
  4863. +        sscanf(sidtxt, "S-%u-%d", &rev, &ia);
  4864. +        sid->Revision = rev;
  4865. +        sid->IdentifierAuthority.Value[0] = 0;
  4866. +        sid->IdentifierAuthority.Value[1] = 0;
  4867. +        sid->IdentifierAuthority.Value[2] = HIBYTE(HIWORD(ia));
  4868. +        sid->IdentifierAuthority.Value[3] = LOBYTE(HIWORD(ia));
  4869. +        sid->IdentifierAuthority.Value[4] = HIBYTE(LOWORD(ia));
  4870. +        sid->IdentifierAuthority.Value[5] = LOBYTE(LOWORD(ia));
  4871. +        p = strchr(sidtxt, '-')+1;
  4872. +        p = strchr(p, '-')+1; /* Revision doesn't count */
  4873. +        p = strchr(p, '-')+1; /* IdentifierAuthority doesn't count */
  4874. +        do
  4875. +        {
  4876. +            sscanf(p, "%u", &sa);
  4877. +            sid->SubAuthority[sub_authority_count] = sa;
  4878. +            p = strchr(p, '-');
  4879. +            if (p) p++;
  4880. +            sub_authority_count++;
  4881. +        }
  4882. +        while(p);
  4883. +        sid->SubAuthorityCount = sub_authority_count;
  4884. +
  4885. +        /* Convert generic rights into standard access rights */
  4886. +        if (mask & GENERIC_ALL)
  4887. +            mask |= WRITE_DAC | WRITE_OWNER | DELETE | FILE_DELETE_CHILD;
  4888. +        if (mask & (GENERIC_ALL|GENERIC_READ))
  4889. +            mask |= FILE_GENERIC_READ;
  4890. +        if (mask & (GENERIC_ALL|GENERIC_WRITE))
  4891. +            mask |= FILE_GENERIC_WRITE;
  4892. +        if (mask & (GENERIC_ALL|GENERIC_EXECUTE))
  4893. +            mask |= FILE_GENERIC_EXECUTE;
  4894. +        mask &= 0x0FFFFFFF;
  4895. +
  4896. +        /* Handle the specific ACE */
  4897. +        switch (type)
  4898. +        {
  4899. +            case ACCESS_DENIED_ACE_TYPE:
  4900. +                ada = (ACCESS_DENIED_ACE *)aaa;
  4901. +                ada->Header.AceType  = type;
  4902. +                ada->Header.AceFlags = flags;
  4903. +                ada->Header.AceSize  = FIELD_OFFSET(ACCESS_DENIED_ACE, SidStart) +
  4904. +                                       FIELD_OFFSET(SID, SubAuthority[sid->SubAuthorityCount]);
  4905. +                ada->Mask            = mask;
  4906. +                memcpy( &ada->SidStart, sid, FIELD_OFFSET(SID, SubAuthority[sid->SubAuthorityCount]) );
  4907. +                break;
  4908. +            case ACCESS_ALLOWED_ACE_TYPE:
  4909. +                aaa->Header.AceType  = type;
  4910. +                aaa->Header.AceFlags = flags;
  4911. +                aaa->Header.AceSize  = FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart) +
  4912. +                                       FIELD_OFFSET(SID, SubAuthority[sid->SubAuthorityCount]);
  4913. +                aaa->Mask            = mask;
  4914. +                memcpy( &aaa->SidStart, sid, FIELD_OFFSET(SID, SubAuthority[sid->SubAuthorityCount]) );
  4915. +                break;
  4916. +            default:
  4917. +                continue;
  4918. +        }
  4919. +        p = pn;
  4920. +    }
  4921. +
  4922. +    return sd;
  4923. +#else
  4924. +    return NULL;
  4925. +#endif
  4926. +}
  4927. +
  4928.  static struct security_descriptor *file_get_sd( struct object *obj )
  4929.  {
  4930.      struct file *file = (struct file *)obj;
  4931. +    const SID *user, *group;
  4932.      struct stat st;
  4933.      int unix_fd;
  4934.      struct security_descriptor *sd;
  4935. @@ -449,9 +618,11 @@ static struct security_descriptor *file_
  4936.          (st.st_uid == file->uid))
  4937.          return obj->sd;
  4938.  
  4939. -    sd = mode_to_sd( st.st_mode,
  4940. -                     security_unix_uid_to_sid( st.st_uid ),
  4941. -                     token_get_primary_group( current->process->token ));
  4942. +    user = security_unix_uid_to_sid( st.st_uid );
  4943. +    group = token_get_primary_group( current->process->token );
  4944. +    sd = get_file_acls( unix_fd, user, group );
  4945. +    if (!sd)
  4946. +        sd = mode_to_sd( st.st_mode, user, group);
  4947.      if (!sd) return obj->sd;
  4948.  
  4949.      file->mode = st.st_mode;
  4950. @@ -581,6 +752,8 @@ static int file_set_sd( struct object *o
  4951.          mode = st.st_mode & (S_ISUID|S_ISGID|S_ISVTX);
  4952.          mode |= sd_to_mode( sd, owner );
  4953.  
  4954. +        set_file_acls( unix_fd, sd );
  4955. +
  4956.          if (((st.st_mode ^ mode) & (S_IRWXU|S_IRWXG|S_IRWXO)) && fchmod( unix_fd, mode ) == -1)
  4957.          {
  4958.              file_set_error();
  4959. diff -rupN wine-1.5.19/server/file.h wine-silverlight-1.5.19/server/file.h
  4960. --- wine-1.5.19/server/file.h   2012-12-07 11:17:32.000000000 -0800
  4961. +++ wine-silverlight-1.5.19/server/file.h       2012-12-20 18:16:39.789547898 -0800
  4962. @@ -56,7 +56,8 @@ extern struct fd *alloc_pseudo_fd( const
  4963.                                     unsigned int options );
  4964.  extern void set_no_fd_status( struct fd *fd, unsigned int status );
  4965.  extern struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
  4966. -                           unsigned int access, unsigned int sharing, unsigned int options );
  4967. +                           unsigned int access, unsigned int sharing, unsigned int options,
  4968. +                           const struct security_descriptor *sd );
  4969.  extern struct fd *create_anonymous_fd( const struct fd_ops *fd_user_ops,
  4970.                                         int unix_fd, struct object *user, unsigned int options );
  4971.  extern struct fd *dup_fd_object( struct fd *orig, unsigned int access, unsigned int sharing,
  4972. @@ -122,6 +123,8 @@ extern struct file *create_file_for_fd_o
  4973.  extern void file_set_error(void);
  4974.  extern struct security_descriptor *mode_to_sd( mode_t mode, const SID *user, const SID *group );
  4975.  extern mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner );
  4976. +extern void set_file_acls( int fd, const struct security_descriptor *sd );
  4977. +extern struct security_descriptor *get_file_acls( int fd, const SID *user, const SID *group );
  4978.  
  4979.  /* file mapping functions */
  4980.  
  4981. diff -rupN wine-1.5.19/tools/wineprefixcreate.man wine-silverlight-1.5.19/tools/wineprefixcreate.man
  4982. --- wine-1.5.19/tools/wineprefixcreate.man      1969-12-31 16:00:00.000000000 -0800
  4983. +++ wine-silverlight-1.5.19/tools/wineprefixcreate.man  2012-12-20 18:16:39.806213462 -0800
  4984. @@ -0,0 +1,82 @@
  4985. +.\" -*- nroff -*-
  4986. +.TH WINEPREFIXCREATE 1 "August 2006" "Wine 1.1.35" "Windows on Unix"
  4987. +.SH NAME
  4988. +wineprefixcreate \- create or update the Wine configuration
  4989. +.SH SYNOPSIS
  4990. +.BI wineprefixcreate\  [options]
  4991. +.SH DESCRIPTION
  4992. +.B wineprefixcreate
  4993. +creates or updates a Wine configuration directory.  When running Wine,
  4994. +the base name of the configuration directory is specified in the
  4995. +WINEPREFIX variable, hence the name of this tool.
  4996. +.PP
  4997. +.B wineprefixcreate
  4998. +is launched automatically by
  4999. +.B wine(1)
  5000. +if you don't have an existing configuration. However, it can sometimes
  5001. +be useful to run it explicitly to create a different directory, or
  5002. +update an existing one.
  5003. +.SH OPTIONS
  5004. +.TP
  5005. +.BI \--prefix\  directory
  5006. +Create the specified directory (or update it if it exists already). If
  5007. +this option is not specified,
  5008. +.B wineprefixcreate
  5009. +defaults to the
  5010. +.I WINEPREFIX
  5011. +environment variable, or to
  5012. +.I $HOME/.wine
  5013. +if not set.
  5014. +.TP
  5015. +.B \-h, \--help
  5016. +Display a usage message.
  5017. +.TP
  5018. +.B \-q, \--quiet
  5019. +Don't display any status messages.
  5020. +.TP
  5021. +.B \-w, \--wait
  5022. +Wait for
  5023. +.B wineserver
  5024. +to save everything before returning. This is necessary for instance if
  5025. +you are planning to rename the directory once created; otherwise a
  5026. +running server could still try to access the directory under its old
  5027. +name.
  5028. +.SH ENVIRONMENT VARIABLES
  5029. +.TP
  5030. +.I WINEPREFIX
  5031. +If set, the content of this variable is taken as the name of the directory where
  5032. +.B wineprefixcreate
  5033. +stores its data (the default is \fI$HOME/.wine\fR). All
  5034. +.B wine
  5035. +processes using the same prefix share certain things like registry,
  5036. +shared memory and kernel objects.  By setting
  5037. +.I WINEPREFIX
  5038. +to different values for different Wine processes, it is possible to
  5039. +run a number of truly independent Wine sessions.
  5040. +.SH FILES
  5041. +.TP
  5042. +.B ~/.wine
  5043. +Default location for the
  5044. +.B wine
  5045. +configuration data.
  5046. +.SH AUTHORS
  5047. +Many people have contributed to the development of Wine. Please check
  5048. +the file Changelog in the Wine distribution for the complete details.
  5049. +.SH BUGS
  5050. +If you find a bug, please submit a bug report at
  5051. +.UR http://bugs.winehq.org
  5052. +.B http://bugs.winehq.org.
  5053. +.UE
  5054. +.SH AVAILABILITY
  5055. +.B wineprefixcreate
  5056. +is part of the Wine distribution, which is available through WineHQ,
  5057. +the Wine development headquarters, at
  5058. +.UR http://www.winehq.org/
  5059. +.B http://www.winehq.org/.
  5060. +.UE
  5061. +.br
  5062. +It is distributed under the terms of the GNU Lesser General Public
  5063. +License.
  5064. +.SH "SEE ALSO"
  5065. +.BR wine (1),
  5066. +.BR wineserver (1).
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top